OPSAWG Working Group                                      O. G. de. Dios
Internet-Draft                                             S. B. Giraldo
Intended status: Standards Track                              Telefonica
Expires: 8 September 2022                                       V. Lopez
                                                                   Nokia
                                                            7 March 2022


      A YANG Data Model for Open Source Path First (OSPF) Topology
                 draft-ogondio-opsawg-ospf-topology-00

Abstract

   This document defines a YANG data model for representing an abstract
   view of the provider network topology that contains Open Source Path
   First (OSPF) information.  This document augments the 'ietf-network'
   data model by adding OSPF concepts.

   The YANG data model defined in this document conforms to the Network
   Management Datastore Architecture (NMDA).

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   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 https://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 8 September 2022.

Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components



Dios, et al.            Expires 8 September 2022                [Page 1]


Internet-Draft             OSPF Topology YANG                 March 2022


   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology and Notations . . . . . . . . . . . . . . . .   3
     1.2.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     1.3.  Tree Diagram  . . . . . . . . . . . . . . . . . . . . . .   3
     1.4.  Prefix in Data Node Names . . . . . . . . . . . . . . . .   3
   2.  YANG Data Model for OSPF Topology . . . . . . . . . . . . . .   4
   3.  OSPF Topology Tree Diagram  . . . . . . . . . . . . . . . . .   4
   4.  YANG Model for OSPF topology  . . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
   7.  Implementation Status . . . . . . . . . . . . . . . . . . . .  12
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .  12
   Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   Topology collection is a critical use case for the network operators
   because the network topology is an abstract representation of the
   physical nodes, links and network interconnections.  Network planning
   processes requires that the network resources are placed to meet the
   traffic demands requirements not just in terms of bandwidth or delay,
   but also for failure scenarios.  Network operators does the network
   planning process as an offline process, which obtains the information
   not directly from the network, but from inventory or template
   information.  The main reason for this process was that there was a
   lack of a dynamic and programmatic interfaces that can allow the
   planning tools to obtain such information.

   Thanks to the definition of the ietf-network model in [RFC8345] this
   situation changed, because network operators can use an API with
   dynamic topological information.  On top of the work in [RFC8345],
   [RFC8346] and [RFC8944] extends the generic network and network
   topology data models with topology attributes that are specific to
   Layer 3 and Layer 2.  However, there is not any model that exposes
   Open Source Path First (OSPF) information.  This information is
   required in the IP/MPLS planning process to properly assess the
   required network resources to meet the traffic demands in normal and
   failure scenarios.

   The main objective of this model is to represent most relevant OSPF
   topology attributes.



Dios, et al.            Expires 8 September 2022                [Page 2]


Internet-Draft             OSPF Topology YANG                 March 2022


   This document defines a YANG data model for representing, managing
   and controlling the OSPF topology.  The data model augments ietf-
   network module [RFC8345] by adding the OSPF information.

   This document explains the scope and purpose of the OSPF topology
   model and how the topology and service models fit together.

   The YANG data model defined in this document conforms to the Network
   Management Datastore Architecture [RFC8342].

1.1.  Terminology and Notations

   This document assumes that the reader is familiar with the contents
   of [RFC8345].  The document uses terms from those documents.

   The terminology for describing YANG data models is found in
   [RFC7950], [RFC8795] and [RFC8346].

1.2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   [RFC2119], [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

1.3.  Tree Diagram

   Authors include a simplified graphical representation of the data
   model is used in Section 3 of this document.  The meaning of the
   symbols in these diagrams is defined in [RFC8340].

1.4.  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, as shown in the following table.

              +========+=======================+===========+
              | Prefix | Yang Module           | Reference |
              +========+=======================+===========+
              | ospfnt | ietf-l3-ospf-topology | RFCXXX    |
              +--------+-----------------------+-----------+
              | yang   | ietf-yang-types       | [RFC6991] |
              +--------+-----------------------+-----------+

                 Table 1: Prefixes and corresponding YANG
                                 modules



Dios, et al.            Expires 8 September 2022                [Page 3]


Internet-Draft             OSPF Topology YANG                 March 2022


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

2.  YANG Data Model for OSPF Topology

   The abstract (base) network data model is defined in the "ietf-
   network" module of [RFC8345].  The OSPF-topology builds on the
   network data model defined in the "ietf-network" module [RFC8345],
   augmenting the nodes with OSPF information, which anchor the links
   and are contained in nodes).

   There is a set of parameters and augmentations that are included at
   the node level.  Each parameter and description are detailed
   following:

   *  Network-types: Its presence identifies the OSPF topology type.
      Thus, the network type MUST be ospf-topology.

   *  OSPF timer attributes: Identifies the node timer attributes
      configured in the network element.  They are wait timer, rapid
      delay, slow delay and the timer type (linear or exponential back-
      off).

   *  OSPF status: contains the neighbours information.

   There is a second set of parameters and augmentations are included at
   the link and termination point level.  Each parameter is listed as
   follows:

   *  Interface-type

   *  Area ID

   *  Metric

   *  Passive mode

3.  OSPF Topology Tree Diagram

   Figure 1 below shows the tree diagram of the YANG data model defined
   in module ietf-l3-ospf-topology.yang (Section 4).










Dios, et al.            Expires 8 September 2022                [Page 4]


Internet-Draft             OSPF Topology YANG                 March 2022


   module: ietf-l3-ospf-topology
     augment /nw:networks/nw:network/nw:network-types:
       +--rw ospfv2-topology!
     augment /nw:networks/nw:network/nw:node/
       l3t:l3-node-attributes:
       +--rw ospf-timer-attributes
          +--rw wait-timer?    uint32
          +--rw rapid-delay?   uint32
          +--rw slow-delay?    uint32
          +--rw timer-type?    enumeration
     augment /nw:networks/nw:network/nt:link/
       l3t:l3-link-attributes:
       +--rw ospfv2-termination-point-attributes
          +--rw interface-type?   identityref
          +--rw area-id?          area-id-type
          +--rw metric?           uint64
          +--rw is-passive?       boolean
     augment /nw:networks/nw:network/nw:node/nt:termination-point/
       l3t:l3-termination-point-attributes:
       +--rw ospfv2-termination-point-attributes
          +--rw interface-type?   identityref
          +--rw area-id?          area-id-type
          +--rw metric?           uint64
          +--rw is-passive?       boolean

                    Figure 1: OSPF Topology tree diagram

4.  YANG Model for OSPF topology

   Following the YANG model is presented.

   <CODE BEGINS> file "ietf-l3-ospf-topology@2022-03-07.yang"
   module ietf-l3-ospf-topology {
     yang-version 1.1;
     namespace
       "urn:ietf:params:xml:ns:yang:ietf-l3-ospf-topology";
     prefix "ospfnt";
     import ietf-yang-types {
             prefix "yang";
         }
     import ietf-network {
       prefix "nw";
     }
     import ietf-network-topology {
       prefix "nt";
     }
     import ietf-l3-unicast-topology {
       prefix "l3t";



Dios, et al.            Expires 8 September 2022                [Page 5]


Internet-Draft             OSPF Topology YANG                 March 2022


     }

     organization
       "IETF OPSA (Operations and Management Area) Working Group";
     contact
       "WG Web:  <https://datatracker.ietf.org/wg/opsawg/>
       WG List:  <mailto:opsawg@ietf.org>

       Editor:   Oscar Gonzalez de Dios
                 <mailto:oscar.gonzalezdedios@telefonica.com>
       Editor:   Samier Barguil
                 <mailto:samier.barguilgiraldo.ext@telefonica.com>
       Editor:   Victor Lopez
                 <mailto:victor.lopez@nokia.com>";
     description
       "This module defines a model for Layer 3 OSPF
        topologies.

        Copyright (c) 2022 IETF Trust and the persons identified as
        authors of the code.  All rights reserved.

        Redistribution and use in source and binary forms, with or
        without modification, is permitted pursuant to, and subject to
        the license terms contained in, the Revised BSD License set
        forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (https://trustee.ietf.org/license-info).

        This version of this YANG module is part of RFC XXXX
        (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
        for full legal notices.";

     revision 2022-03-07 {
       description
         "Initial version";
       reference
         "RFC XXXX: A YANG Data Model for Open Source Path First
          (OSPF) Topology"; }

     typedef area-id-type {
       type yang:dotted-quad;
       description
         "An identifier for the OSPFv2 area.";
       reference
            "RFC 2328: OSPF Version 2";
     }

     identity inf-type {



Dios, et al.            Expires 8 September 2022                [Page 6]


Internet-Draft             OSPF Topology YANG                 March 2022


       description
         "Identity for the OSPF interface type.";
       reference
            "RFC 2328: OSPF Version 2";
     }

     identity nbma {
       base inf-type;
       description
         "Identity for the NBMA interface.";
       reference
            "RFC 2328: OSPF Version 2";
     }

     identity p2mp {
       base inf-type;
       description
         "Identity for the p2mp interface.";
       reference
            "RFC 2328: OSPF Version 2";
     }
     identity p2mp-over-lan {
       base inf-type;
       description
         "Identity for the p2mp-over-lan interface.";
       reference
            "RFC 2328: OSPF Version 2";
     }

     identity p2p {
       base inf-type;
       description
         "Identity for the p2p interface.";
       reference
            "RFC 2328: OSPF Version 2";
     }

     grouping ospfv2-topology-type {
       description "Identifies the topology type to be OSPF v2.";
       container ospfv2-topology {
         presence "indicates OSPF v2 topology";
         description
           "The presence of the container node indicates OSPF v2
           topology";
       }
     }

     grouping ospfv2-node-attributes {



Dios, et al.            Expires 8 September 2022                [Page 7]


Internet-Draft             OSPF Topology YANG                 March 2022


       description "OSPF v2 node scope attributes";
       container ospf-timer-attributes {
         description
           "Contains OSPFv2 node timer attributes";
         leaf wait-timer {
           type uint32;
           units msec;
           description
             "The amount of time to wait without detecting SPF
             trigger events before going back to the rapid delay.";
           reference
            "RFC 8541: SPF Impact on IGP Micro-loops";
         }
         leaf rapid-delay {
           type uint32;
           units msec;
           description
             "The amount of time to wait before running SPF after
             the initial SPF trigger event.";
           reference
            "RFC 8541: SPF Impact on IGP Micro-loops";
         }
         leaf slow-delay {
           type uint32;
           units msec;
           description
             "The amount of time to wait before running an SPF.";
           reference
            "RFC 8541: SPF Impact on IGP Micro-loops";
         }
         leaf timer-type {
           type enumeration {
             enum LINEAR_BACKOFF {
               description
                 "The link state routing protocol uses linear
                  back-off.";
             }
             enum EXPONENTIAL_BACKOFF {
               description
                 "The link state routing protocol uses exponential
                  back-off.";
             }
           }
           description
             "The timer mode that is utilised by the SPF algorithm.";
           reference
            "RFC 8541: SPF Impact on IGP Micro-loops";
         }



Dios, et al.            Expires 8 September 2022                [Page 8]


Internet-Draft             OSPF Topology YANG                 March 2022


       }
     }

     grouping ospfv2-termination-point-attributes {
       description "OSPF termination point scope attributes";
       container ospfv2-termination-point-attributes {
         description
           "Indicates the termination point from the
                 which the OSPF is configured. A termination
                 point can be a physical port, an interface, etc.";
         leaf interface-type {
           type identityref {
             base inf-type ;
           }
           description
             "OSPF interface type.";
           reference
             "RFC 2328: OSPF Version 2";
         }
         leaf area-id {
           type area-id-type;
           description
             "An identifier for the OSPFv2 area.";
           reference
             "RFC 2328: OSPF Version 2";
         }
         leaf metric {
           type uint64;
           description
             "OSFP Protocol metric";
           reference
             "RFC 2328: OSPF Version 2";
         }
         leaf is-passive{
           type boolean;
           description
             "Interface passive mode";
           reference
             "RFC 2328: OSPF Version 2";
         }
       }
     }

     augment "/nw:networks/nw:network/nw:network-types" {
       description
         "Introduces new network type for L3 Unicast topology";
       uses ospfv2-topology-type;
     }



Dios, et al.            Expires 8 September 2022                [Page 9]


Internet-Draft             OSPF Topology YANG                 March 2022


     augment "/nw:networks/nw:network/nw:node/"
       +"l3t:l3-node-attributes" {
       when
       "/nw:networks/nw:network/nw:network-types/"
         +"ospfnt:ospfv2-topology" {
         description
           "Augmentation parameters apply only for networks with
           OSPF topology";
       }
       description
           "OSPF node-level attributes ";
       uses ospfv2-node-attributes;
     }

     augment "/nw:networks/nw:network/"
         + "nt:link/l3t:l3-link-attributes" {
       when "/nw:networks/nw:network/nw:network-types/"
         +"ospfnt:ospfv2-topology" {
         description
           "Augmentation parameters apply only for networks with
           OSFP topology";
       }
       description "Augments topology link configuration";
       uses ospfv2-termination-point-attributes;
     }

     augment "/nw:networks/nw:network/nw:node/"
         +"nt:termination-point/l3t:l3-termination-point-attributes" {
       when "/nw:networks/nw:network/nw:network-types/"
         +"ospfnt:ospfv2-topology" {
         description
           "Augmentation parameters apply only for networks with
           OSFP topology";
       }
       description "Augments topology termination point configuration";
       uses ospfv2-termination-point-attributes;
     }
   }
   <CODE ENDS>

                    Figure 2: OSPF Topology YANG module










Dios, et al.            Expires 8 September 2022               [Page 10]


Internet-Draft             OSPF Topology YANG                 March 2022


5.  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
   [RFC5246].

   The NETCONF access control model [RFC6536] 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.

   There are a number of data nodes defined in this YANG module that 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.

6.  IANA Considerations

   This document registers the following namespace URIs in the IETF XML
   registry [RFC3688]:

   --------------------------------------------------------------------
   URI: urn:ietf:params:xml:ns:yang:ietf-l3-ospf-topology
   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 [RFC6020]:

   --------------------------------------------------------------------
   name:         ietf-l3-ospf-topology
   namespace:    urn:ietf:params:xml:ns:yang:ietf-l3-ospf-topology
   maintained by IANA: N
   prefix:       ietf-l3-ospf-topology
   reference:    RFC XXXX
   --------------------------------------------------------------------








Dios, et al.            Expires 8 September 2022               [Page 11]


Internet-Draft             OSPF Topology YANG                 March 2022


7.  Implementation Status

   This section will be used to track the status of the implementations
   of the model.  It is aimed at being removed if the document becomes
   RFC.

8.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246,
              DOI 10.17487/RFC5246, August 2008,
              <https://www.rfc-editor.org/info/rfc5246>.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://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,
              <https://www.rfc-editor.org/info/rfc6536>.

   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/info/rfc6991>.

   [RFC7950]  Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
              RFC 7950, DOI 10.17487/RFC7950, August 2016,
              <https://www.rfc-editor.org/info/rfc7950>.



Dios, et al.            Expires 8 September 2022               [Page 12]


Internet-Draft             OSPF Topology YANG                 March 2022


   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.

   [RFC8342]  Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
              and R. Wilton, "Network Management Datastore Architecture
              (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
              <https://www.rfc-editor.org/info/rfc8342>.

   [RFC8343]  Bjorklund, M., "A YANG Data Model for Interface
              Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
              <https://www.rfc-editor.org/info/rfc8343>.

   [RFC8345]  Clemm, A., Medved, J., Varga, R., Bahadur, N.,
              Ananthakrishnan, H., and X. Liu, "A YANG Data Model for
              Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March
              2018, <https://www.rfc-editor.org/info/rfc8345>.

   [RFC8346]  Clemm, A., Medved, J., Varga, R., Liu, X.,
              Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model
              for Layer 3 Topologies", RFC 8346, DOI 10.17487/RFC8346,
              March 2018, <https://www.rfc-editor.org/info/rfc8346>.

   [RFC8795]  Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
              O. Gonzalez de Dios, "YANG Data Model for Traffic
              Engineering (TE) Topologies", RFC 8795,
              DOI 10.17487/RFC8795, August 2020,
              <https://www.rfc-editor.org/info/rfc8795>.

   [RFC8944]  Dong, J., Wei, X., Wu, Q., Boucadair, M., and A. Liu, "A
              YANG Data Model for Layer 2 Network Topologies", RFC 8944,
              DOI 10.17487/RFC8944, November 2020,
              <https://www.rfc-editor.org/info/rfc8944>.

Acknowledgments

   The authors of this document would like to thank XXX.

   This document was prepared using kramdown.




Dios, et al.            Expires 8 September 2022               [Page 13]


Internet-Draft             OSPF Topology YANG                 March 2022


Authors' Addresses

   Oscar González de Dios
   Telefonica
   Email: oscar.gonzalezdedios@telefonica.com


   Samier Barguil Giraldo
   Telefonica
   Email: samier.barguilgiraldo.ext@telefonica.com


   Victor Lopez
   Nokia
   Email: victor.lopez@nokia.com




































Dios, et al.            Expires 8 September 2022               [Page 14]