Skip to main content

YANG models for ACTN TE Performance Monitoring Telemetry and Network Autonomics
draft-lee-teas-actn-pm-telemetry-autonomics-07

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Young Lee , Dhruv Dhody , Satish Karunanithi , Ricard Vilalta , Daniel King , Daniele Ceccarelli
Last updated 2018-07-02 (Latest revision 2018-04-30)
Replaced by draft-ietf-teas-actn-pm-telemetry-autonomics, draft-ietf-teas-actn-pm-telemetry-autonomics
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-lee-teas-actn-pm-telemetry-autonomics-07

module: ietf-te-kpi-telemetry
  augment /te:te/te:tunnels/te:tunnel:
    +--rw te-scaling-intent
    |  +--rw scale-in-intent
    |  |  +--rw threshold-time?             uint32
    |  |  +--rw cooldown-time?              uint32
    |  |  +--rw scale-in-operation-type?    scaling-criteria-operation
    |  |  +--rw scale-out-operation-type?   scaling-criteria-operation
    |  |  +--rw scaling-condition* [performance-type]
    |  |     +--rw performance-type           identityref
    |  |     +--rw te-telemetry-tunnel-ref?   -> /te:te/tunnels/tunnel/name
    |  +--rw scale-out-intent
    |     +--rw threshold-time?             uint32
    |     +--rw cooldown-time?              uint32
    |     +--rw scale-in-operation-type?    scaling-criteria-operation
    |     +--rw scale-out-operation-type?   scaling-criteria-operation
    |     +--rw scaling-condition* [performance-type]
    |        +--rw performance-type           identityref
    |        +--rw te-telemetry-tunnel-ref?   -> /te:te/tunnels/tunnel/name
    +--ro te-telemetry
       +--ro id?                                   string
       +--ro unidirectional-delay?                 uint32
       +--ro unidirectional-min-delay?             uint32
       +--ro unidirectional-max-delay?             uint32
       +--ro unidirectional-delay-variation?       uint32
       +--ro unidirectional-packet-loss?           decimal64
       +--ro unidirectional-residual-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro unidirectional-available-bandwidth?   rt-types:bandwidth-ieee-float32
       +--ro unidirectional-utilized-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro bidirectional-delay?                  uint32
       +--ro bidirectional-min-delay?              uint32
       +--ro bidirectional-max-delay?              uint32
       +--ro bidirectional-delay-variation?        uint32
       +--ro bidirectional-packet-loss?            decimal64
       +--ro bidirectional-residual-bandwidth?     rt-types:bandwidth-ieee-float32
       +--ro bidirectional-available-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro bidirectional-utilized-bandwidth?     rt-types:bandwidth-ieee-float32
       +--ro utilized-percentage?                  uint8
       +--ro te-ref?                               -> /te:te/tunnels/tunnel/name

module: ietf-actn-te-kpi-telemetry
  augment /vn:actn/vn:vn/vn:vn-list:
    +--rw vn-scaling-intent
    |  +--rw scale-in-intent
    |  |  +--rw threshold-time?             uint32
    |  |  +--rw cooldown-time?              uint32
    |  |  +--rw scale-in-operation-type?    scaling-criteria-operation
    |  |  +--rw scale-out-operation-type?   scaling-criteria-operation
    |  |  +--rw scaling-condition* [performance-type]
    |  |     +--rw performance-type           identityref
    |  |     +--rw te-telemetry-tunnel-ref?   -> /te:te/tunnels/tunnel/name
    |  +--rw scale-out-intent
    |     +--rw threshold-time?             uint32
    |     +--rw cooldown-time?              uint32

Lee, et al.              Expires January 2019                 [Page 10]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

    |     +--rw scale-in-operation-type?    scaling-criteria-operation
    |     +--rw scale-out-operation-type?   scaling-criteria-operation
    |     +--rw scaling-condition* [performance-type]
    |        +--rw performance-type           identityref
    |        +--rw te-telemetry-tunnel-ref?   -> /te:te/tunnels/tunnel/name
    +--ro vn-telemetry
       +--ro unidirectional-delay?                 uint32
       +--ro unidirectional-min-delay?             uint32
       +--ro unidirectional-max-delay?             uint32
       +--ro unidirectional-delay-variation?       uint32
       +--ro unidirectional-packet-loss?           decimal64
       +--ro unidirectional-residual-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro unidirectional-available-bandwidth?   rt-types:bandwidth-ieee-float32
       +--ro unidirectional-utilized-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro bidirectional-delay?                  uint32
       +--ro bidirectional-min-delay?              uint32
       +--ro bidirectional-max-delay?              uint32
       +--ro bidirectional-delay-variation?        uint32
       +--ro bidirectional-packet-loss?            decimal64
       +--ro bidirectional-residual-bandwidth?     rt-types:bandwidth-ieee-float32
       +--ro bidirectional-available-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro bidirectional-utilized-bandwidth?     rt-types:bandwidth-ieee-float32
       +--ro utilized-percentage?                  uint8
       +--ro grouping-operation?                   grouping-operation
  augment /vn:actn/vn:vn/vn:vn-list/vn:vn-member-list:
    +--ro vn-member-telemetry
       +--ro unidirectional-delay?                 uint32
       +--ro unidirectional-min-delay?             uint32
       +--ro unidirectional-max-delay?             uint32
       +--ro unidirectional-delay-variation?       uint32
       +--ro unidirectional-packet-loss?           decimal64
       +--ro unidirectional-residual-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro unidirectional-available-bandwidth?   rt-types:bandwidth-ieee-float32
       +--ro unidirectional-utilized-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro bidirectional-delay?                  uint32
       +--ro bidirectional-min-delay?              uint32
       +--ro bidirectional-max-delay?              uint32
       +--ro bidirectional-delay-variation?        uint32
       +--ro bidirectional-packet-loss?            decimal64
       +--ro bidirectional-residual-bandwidth?     rt-types:bandwidth-ieee-float32
       +--ro bidirectional-available-bandwidth?    rt-types:bandwidth-ieee-float32
       +--ro bidirectional-utilized-bandwidth?     rt-types:bandwidth-ieee-float32
       +--ro utilized-percentage?                  uint8
       +--ro te-grouped-params*                    -> /te:te/tunnels/tunnel/te-kpi:te-
telemetry/id
       +--ro grouping-operation?                   grouping-operation

6. Yang Data Model

6.1. ietf-te-kpi-telemetry model

Lee, et al.              Expires January 2019                 [Page 11]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

   The YANG code is as follows:

<CODE BEGINS> file "ietf-te-kpi-telemetry@2018-07-02.yang"

module ietf-te-kpi-telemetry {

    namespace "urn:ietf:params:xml:ns:yang:ietf-te-kpi-telemetry";

    prefix "te-tel";

    import ietf-te {
        prefix "te";
    }

    import ietf-te-types {
       prefix "te-types";
    }

    import ietf-routing-types {
       prefix "rt-types";
    }

    organization
        "IETF Traffic Engineering Architecture and Signaling (TEAS)
        Working Group";

    contact
        "Editor: Young Lee <leeyoung@huawei.com>
         Editor: Dhruv Dhody <dhruv.ietf@gmail.com>
         Editor: Ricard Vilalta <ricard.vilalta@cttc.es>
         Editor: Satish Karunanithi <satish.karunanithi@gmail.com>";

    description
        "This module describes telemetry for teas tunnel model";

    revision 2018-07-02 {
        description
            "Initial revision. This YANG file defines
            the reusable base types for TE telemetry.";
        reference
            "Derived from earlier versions of base YANG files";
    }

    /*
     * Identities
     */

    identity telemetry-param-type {
        description

Lee, et al.              Expires January 2019                 [Page 12]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

            "Base identity for telemetry param types";
    }

    identity one-way-delay {
        base telemetry-param-type;
        description
            "To specify average Delay in one (forward)
             direction";
    }

    identity bidirectional-delay {
        base telemetry-param-type;
        description
            "To specify average Delay in both (forward and reverse)
             directions";
    }

    identity one-way-delay-variation {
        base telemetry-param-type;
        description
            "To specify average Delay Variation in one (forward) direction";
    }

    identity bidirectional-delay-variation {
        base telemetry-param-type;
        description
            "To specify average Delay Variation in both (forward and reverse)
             directions";
    }

    identity one-way-packet-loss {
        base telemetry-param-type;
        description
            "To specify packet loss in one (forward) direction.";
    }

    identity bidirectional-packet-loss {
        base telemetry-param-type;
        description
            "To specify packet loss in in both (forward and reverse)
             directions";
    }

    identity utilized-bandwidth {
        base telemetry-param-type;
        description
            "To specify utilized bandwidth over the specified source
             and destination.";

Lee, et al.              Expires January 2019                 [Page 13]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

    }

     identity utilized-percentage {
          base telemetry-param-type;
          description
               "To specify utilization percentage of the entity
                (e.g., tunnel, link, etc.)";
     }
    /*
     * Enums
     */
    typedef scaling-criteria-operation {
        type enumeration {
            enum AND {
                description
                 "AND operation";
            }
            enum OR {
                 description
                  "OR operation";
            }
        }
        description
         "Operations to analize list of scaling criterias";
    }

    /*
     * Groupings
     */

    grouping bidirectional-telemetry-data {
     description
               "list all bidirectional telemetry data in this grouping";

         leaf bidirectional-delay {
            type uint32;
            units "microseconds";
               description
               "To specify average Delay in both (forward and reverse)
                  directions during the measurement interval";
         }

         leaf bidirectional-min-delay {
            type uint32;
            units "microseconds";
               description
               "To specify minimum Delay in both (forward and reverse)

Lee, et al.              Expires January 2019                 [Page 14]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

                  directions during the measurement interval";
         }

         leaf bidirectional-max-delay {
            type uint32;
            units "microseconds";
               description
               "To specify maximum Delay in both (forward and reverse)
                  directions during the measurement interval";
         }

         leaf bidirectional-delay-variation {
            type uint32;
            units "microseconds";
               description
                "To specify average Delay Variation in both
                 (forward and reverse) directions during the
                  measurement interval";
         }

         leaf bidirectional-packet-loss {
            type decimal64 {
                fraction-digits 4;
                range "0.0000..100.0000";
            }
            units "percent";
               description
               "To specify packet loss in in both (forward and reverse)
                  directions";
         }

         leaf bidirectional-residual-bandwidth {
            type rt-types:bandwidth-ieee-float32;
               description
                    "To specify residual bandwidth over the specified source
                  and destination in bytes per seconds.";
            reference
                "RFC 3471";
         }
          leaf bidirectional-available-bandwidth {
            type rt-types:bandwidth-ieee-float32;
               description
                    "To specify available bandwidth over the specified source
                  and destination in bytes per seconds.";
            reference
                "RFC 3471";
         }
          leaf bidirectional-utilized-bandwidth {
            type rt-types:bandwidth-ieee-float32;

Lee, et al.              Expires January 2019                 [Page 15]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

               description
                    "To specify utilized bandwidth over the specified source
                  and destination in bytes per seconds.";
            reference
                "RFC 3471";
          }
          leaf utilized-percentage {
               type uint8;
               units "percentage";
               description
                    "integer indicating a percentage value (0..100) for
utilization";
          }
     }

    grouping scaling-duration {
     description
         "Base scaling criteria durations";
     leaf threshold-time {
            type uint32;
            units "seconds";
            description
                "The duration for which the criteria must hold true";
        }

        leaf cooldown-time {
            type uint32;
            units "seconds";
            description
            "The duration after a scaling-in/scaling-out action has been
            triggered, for which there will be no further operation";
        }
    }

    grouping scaling-criteria {
        description
            "Grouping for scaling criteria";
     leaf performance-type {
                type identityref {
                base telemetry-param-type;
                }
                description
                    "Reference to the tunnel level telemetry type";
     }

     leaf te-telemetry-tunnel-ref {
            type leafref {
                path "/te:te/te:tunnels/te:tunnel/te:name";
            }

Lee, et al.              Expires January 2019                 [Page 16]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

            description
                "Reference to tunnel";
        }
    }

    grouping scaling-intent {
     description
          "Basic sclaing intent";

     uses scaling-duration;

        leaf scale-in-operation-type {
            type scaling-criteria-operation;
            default AND;
            description
                "Operation to be applied to check between scaling criterias to
                check if the scale in threshold condition has been met.
                Defaults to AND";
        }

        leaf scale-out-operation-type {
            type scaling-criteria-operation;
            default OR;
            description
                "Operation to be applied to check between scaling criterias to
                check if the scale out threshold condition has been met.
                Defauls to OR";
        }

     list scaling-condition {
          key "performance-type";
          description
               "Scaling conditions";
          uses scaling-criteria;
     }

    }

    /*
     * Augments
     */

    augment "/te:te/te:tunnels/te:tunnel" {

        description
            "Augmentation parameters for config scaling-criteria
            TE tunnel topologies. Scale in/out criteria might be used
            for network autonomics in order the controller
            to react to a certain set of monitored params.";

Lee, et al.              Expires January 2019                 [Page 17]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

        container te-scaling-intent {
           description
                "scaling intent";

           container scale-in-intent{
                description
                    "scale-in";
                uses scaling-intent;
            }
           container scale-out-intent{
                description
                    "scale-out";
                uses scaling-intent;
            }
         }
        container te-telemetry {
                config false;
                description
                    "telemetry params";
                    leaf id {
                         type string;
                         description "Id of telemetry param";
                    }

                    uses te-types:performance-metric-attributes;
                  /* all unidirectional PM data is defined in this grouping */

                    uses bidirectional-telemetry-data;
                    /* all bidirectional PM data is defined in this grouping */

                    leaf te-ref{
                         type leafref{ path
'/te:te/te:tunnels/te:tunnel/te:name'; }
                         description "Reference to measured te tunnel";
                    }
        }

    }

}

<CODE ENDS>

Lee, et al.              Expires January 2019                 [Page 18]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

6.2. ietf-actn-te-kpi-telemetry model

   The YANG code is as follows:

<CODE BEGINS> file "ietf-actn-te-kpi-telemetry@2018-07-02.yang"

module ietf-actn-te-kpi-telemetry {

    namespace "urn:ietf:params:xml:ns:yang:ietf-actn-te-kpi-telemetry";

    prefix "actn-tel";

    import ietf-actn-vn {
        prefix "vn";
    }

    import ietf-te {
        prefix "te";
    }

    import ietf-te-types {
       prefix "te-types";
    }

    import ietf-te-kpi-telemetry {
        prefix "te-kpi";
    }

    organization
        "IETF Traffic Engineering Architecture and Signaling (TEAS)
        Working Group";

    contact
        "Editor: Young Lee <leeyoung@huawei.com>
         Editor: Dhruv Dhody <dhruv.ietf@gmail.com>
         Editor: Ricard Vilalta <ricard.vilalta@cttc.es>
         Editor: Satish Karunanithi <satish.karunanithi@gmail.com>";

    description
        "This module describes telemetry for actn vn model";

    revision 2018-07-02 {
        description
            "Initial revision. This YANG file defines
            the ACTN VN telemetry.";
        reference

Lee, et al.              Expires January 2019                 [Page 19]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

            "Derived from earlier versions of base YANG files";
    }

    /*
     * Typedefs
     */

    typedef grouping-operation {

        type enumeration {
            enum MINIMUM { description "Select the minimum param"; }
            enum MAXIMUM { description "Select the maximum param"; }
            enum MEAN { description "Select the MEAN of the params"; }
            enum STD_DEV { description "Select the STD_DEV of the monitored params"; }
            enum AND { description "Select the AND of the params"; }
            enum OR { description "Select the OR of the params"; }
        }
          description
               "Operations to analize list of monitored params";
    }

    /*
     * Groupings
     */

     grouping vn-telemetry-param {
        description "augment of te-kpi:telemetry-param for VN specific params";

        leaf-list te-grouped-params {
            type leafref{
                path '/te:te/te:tunnels/te:tunnel/'+
                'te-kpi:te-telemetry/te-kpi:id';
            }
            description
                "Allows the definition of a vn-telemetry param
                as a grouping of underlying TE params";
        }

        leaf grouping-operation {
            type grouping-operation;
            description
                "describes the operation to apply to
                te-grouped-params";
        }

Lee, et al.              Expires January 2019                 [Page 20]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

    }

    /*
     * Augments
     */

    augment "/vn:actn/vn:vn/vn:vn-list" {

        description
            "Augmentation parameters for state TE VN topologies.";

        container vn-scaling-intent {
            description
                "scaling intent";

            container scale-in-intent{
                description
                    "VN scale-in";
                uses te-kpi:scaling-intent;
            }
            container scale-out-intent{
                description
                    "VN scale-out";
                uses te-kpi:scaling-intent;
            }
        }
        container vn-telemetry {
            config false;
            description
                "VN telemetry params";

            uses te-types:performance-metric-attributes;
            uses te-kpi:bidirectional-telemetry-data;
            leaf grouping-operation {
                type grouping-operation;
                description "describes the operation to apply to the VN-members";
            }
        }
    }

    /*
     * VN-member augment
     */
    augment "/vn:actn/vn:vn/vn:vn-list/vn:vn-member-list" {
        description
            "Augmentation parameters for state TE vn member topologies.";
        container vn-member-telemetry {

Lee, et al.              Expires January 2019                 [Page 21]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

              config false;
           description
                "VN member telemetry params";

               uses te-types:performance-metric-attributes;
               uses te-kpi:bidirectional-telemetry-data;
               uses vn-telemetry-param;
        }
    }
}

<CODE ENDS>

7. Security Considerations

   The configuration, state, and action data defined in this document
   are designed to be accessed via a management protocol with a secure
   transport layer, such as NETCONF [RFC6241].  The NETCONF access
   control model [RFC6536] provides the means to restrict access for
   particular NETCONF users to a preconfigured subset of all available
   NETCONF protocol operations and content.

   A number of configuration data nodes defined in this document are
   writable/deletable (i.e., "config true") These data nodes may be
   considered sensitive or vulnerable in some network environments.

8. IANA Considerations

   TDB

9. Acknowledgements

10. References

10.1. Informative References

   [RFC4110] R. Callon and M. Suzuki, "A Framework for Layer 3
             Provider-Provisioned Virtual Private Networks (PPVPNs)",
             RFC 4110, July 2005.

Lee, et al.              Expires January 2019                 [Page 22]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

   [RFC6020] M. Bjorklund, Ed., "YANG - A Data Modeling Language for
             the Network Configuration Protocol (NETCONF)", RFC 6020,
             October 2010.

   [Service-YANG] Q. Wu, W. Liu and A. Farrel, "Service Models
             Explained", draft-wu-opsawg-service-model-explained, work
             in progress.

   [Netmod-Yang-Model-Classification] D. Bogdanovic, B. Claise, and C.
             Moberg, "YANG Module Classification", draft-ietf-netmod-
             yang-model-classification, work in progress.

   [Netconf] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
             and A. Bierman, Ed., "Network Configuration Protocol
             (NETCONF)", RFC 6241.

   [Restconf] A. Bierman, M. Bjorklund, and K. Watsen, "RESTCONF
             Protocol", draft-ietf-netconf-restconf, work in progress.

   [Routing-Types] X. Liu, et al, "Routing Area Common YANG Data
             Types", draft-ietf-rtgwg-routing-types, work in progress.

   [RFC8342]  Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
             and R. Wilton, "Network Management Datastore Architecture
             (NMDA)", RFC 8342, March 2018,

10.2. Normative References

   [ACTN-Frame] D. Cecarelli and Y. Lee, "Framework for Abstraction and
             Control of Traffic Engineered Networks", draft-ietf-teas-
             actn-framework, work in progress.

   [TE-Topology] X. Liu, et al., "YANG Data Model for TE Topologies",
             draft-ietf-teas-yang-te-topo, work in progress.

   [TE-Tunnel] T. Saad (Editor), "A YANG Data Model for Traffic
             Engineering Tunnels and Interfaces", draft-ietf-teas-yang-
             te, work in progress.

   [ACTN-VN] Y. Lee (Editor), "A Yang Data Model for ACTN VN
             Operation", draft-lee-teas-actn-vn-yang, work in progress.

Lee, et al.              Expires January 2019                 [Page 23]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

   [L3SM-YANG] S. Litkowski, L.Tomotaki, and K. Ogaki, "YANG Data Model
             for L3VPN service delivery", draft-ietf-l3sm-l3vpn-
             service-model, work in progress.

   [PCEP-Service-Aware] D. Dhody, et al., "Extensions to the Path
             Computation Element Communication Protocol (PCEP) to
             compute service aware Label Switched Path (LSP)", draft-
             ietf-pce-pcep-service-aware, work in progress.

   [ACTN-PERF] Y. XU, et al., "Use Cases and Requirements of Dynamic
             Service Control based on Performance Monitoring in ACTN
             Architecture", draft-xu-actn-perf-dynamic-service-control-
             03, work in progress.

11. Contributors

Authors' Addresses

   Young Lee
   Huawei Technologies
   5340 Legacy Drive Suite 173
   Plano, TX 75024, USA

   Email: leeyoung@huawei.com

   Dhruv Dhody
   Huawei Technology
   Leela Palace
   Bangalore, Karnataka 560008
   India

   Email: dhruv.dhody@huawei.com

   Satish Karunanithi
   Huawei Technology
   Leela Palace
   Bangalore, Karnataka 560008
   India

   Email: satish.karunanithi@gmail.com

Lee, et al.              Expires January 2019                 [Page 24]
Internet-Draft  ACTN PM Telemetry & Network Autonomics        July 2018

   Ricard Vilalta
   Centre Tecnologic de Telecomunicacions de Catalunya (CTTC/CERCA)
   Av. Carl Friedrich Gauss 7
   08860 - Castelldefels
   Barcelona (Spain)
   Email: ricard.vilalta@cttc.es

   Daniel King
   Lancaster University

   Email: d.king@lancaster.ac.uk

   Daniele Ceccarelli
   Ericsson
   Torshamnsgatan,48
   Stockholm, Sweden

   Email: daniele.ceccarelli@ericsson.com

Lee, et al.              Expires January 2019                 [Page 25]