Skip to main content

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

Document Type Active Internet-Draft (individual)
Authors Oscar Gonzalez de Dios , Samier Barguil , Victor Lopez
Last updated 2023-10-23
RFC stream (None)
Intended RFC status (None)
Formats
Yang Validation 0 errors, 0 warnings
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-ogondio-opsawg-ospf-topology-01
opsawg                                                     O. G. D. Dios
Internet-Draft                                                Telefonica
Intended status: Standards Track                           S. B. Giraldo
Expires: 25 April 2024                                          V. Lopez
                                                                   Nokia
                                                         23 October 2023

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

Abstract

   This document defines a YANG data model for representing an
   abstracted view of a network topology that contains Open Shortest
   Path First (OSPF) information.  This document augments the 'ietf-
   network' data model by adding OSPF concepts and explains how the data
   model can be used to represent the OSPF topology.

   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 25 April 2024.

Copyright Notice

   Copyright (c) 2023 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

Dios, et al.              Expires 25 April 2024                 [Page 1]
Internet-Draft             OSPF Topology YANG               October 2023

   and restrictions with respect to this document.  Code Components
   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  . . . . . . . . . . . . . . . . .   5
   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  . . . . . . . . . . . . . . . . . . . . . . .  13

1.  Introduction

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

   Thanks to the definition of the ietf-network model in [RFC8345] this
   situation has 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 Shortest 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.

Dios, et al.              Expires 25 April 2024                 [Page 2]
Internet-Draft             OSPF Topology YANG               October 2023

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

   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 OSPF and 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.

Dios, et al.              Expires 25 April 2024                 [Page 3]
Internet-Draft             OSPF Topology YANG               October 2023

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

                 Table 1: Prefixes and corresponding YANG
                                 modules

   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.

   A second set of parameters, along with augmentations, is included at
   the link and termination point level.  Each parameter is listed as
   follows:

   *  Interface-type

   *  Area ID

   *  Metric

   *  Passive mode

Dios, et al.              Expires 25 April 2024                 [Page 4]
Internet-Draft             OSPF Topology YANG               October 2023

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).

   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@2023-10-23.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";
     }

Dios, et al.              Expires 25 April 2024                 [Page 5]
Internet-Draft             OSPF Topology YANG               October 2023

     import ietf-network-topology {
       prefix "nt";
     }
     import ietf-l3-unicast-topology {
       prefix "l3t";
     }

     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 Shortest Path First
          (OSPF) Topology"; }

     typedef area-id-type {
       type yang:dotted-quad;
       description
         "An identifier for the OSPFv2 area.";

Dios, et al.              Expires 25 April 2024                 [Page 6]
Internet-Draft             OSPF Topology YANG               October 2023

       reference
            "RFC 2328: OSPF Version 2";
     }

     identity inf-type {
       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

Dios, et al.              Expires 25 April 2024                 [Page 7]
Internet-Draft             OSPF Topology YANG               October 2023

           topology";
       }
     }

     grouping ospfv2-node-attributes {
       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.";
             }
           }

Dios, et al.              Expires 25 April 2024                 [Page 8]
Internet-Draft             OSPF Topology YANG               October 2023

           description
             "The timer mode that is utilised by the SPF algorithm.";
           reference
            "RFC 8541: SPF Impact on IGP Micro-loops";
         }
       }
     }

     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";
         }
       }
     }

Dios, et al.              Expires 25 April 2024                 [Page 9]
Internet-Draft             OSPF Topology YANG               October 2023

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

     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 25 April 2024                [Page 10]
Internet-Draft             OSPF Topology YANG               October 2023

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 [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.

   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 25 April 2024                [Page 11]
Internet-Draft             OSPF Topology YANG               October 2023

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/rfc/rfc2119>.

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

   [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/rfc/rfc6020>.

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

   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/rfc/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/rfc/rfc7950>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/rfc/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/rfc/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/rfc/rfc8340>.

Dios, et al.              Expires 25 April 2024                [Page 12]
Internet-Draft             OSPF Topology YANG               October 2023

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/rfc/rfc8341>.

   [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/rfc/rfc8342>.

   [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/rfc/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/rfc/rfc8346>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/rfc/rfc8446>.

   [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/rfc/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/rfc/rfc8944>.

Acknowledgments

   This work is partially supported by the European Commission under
   Horizon 2020 Secured autonomic traffic management for a Tera of SDN
   flows (Teraflow) project (grant agreement number 101015857).

Authors' Addresses

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

Dios, et al.              Expires 25 April 2024                [Page 13]
Internet-Draft             OSPF Topology YANG               October 2023

   Samier Barguil Giraldo
   Nokia
   Email: samier.barguil_giraldo@nokia.com

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

Dios, et al.              Expires 25 April 2024                [Page 14]