Skip to main content

YANG Data Model for SR and SR TE Topologies on IPv6 Data Plane
draft-liu-teas-yang-srv6-te-topo-01

Document Type Active Internet-Draft (individual)
Authors Yisong Liu , Changwang Lin , Xufeng Liu
Last updated 2024-04-22
RFC stream (None)
Intended RFC status (None)
Formats
Yang Validation 0 errors, 4 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-liu-teas-yang-srv6-te-topo-01
TEAS Working Group                                               Y. Liu
Internet Draft                                             China Mobile
Intended status: Standards Track                                 C. Lin
Expires: October 21, 2024                          New H3C Technologies            
                                                                 X. Liu
                                                              Alef Edge                                                    
                                                         April 21, 2024

       YANG Data Model for SR and SR TE Topologies on IPv6 Data Plane
                    draft-liu-teas-yang-srv6-te-topo-01

Abstract

   This document defines a YANG data model for Segment Routing (SR)
   topology and Segment Routing (SR) Traffic Engineering (TE) topology,
   using IPv6 data plane. It provides the methods for representing and
   manipulating SR Topologies on IPv6 Data Plane, and can be used on a
   controller for the network-wide operations such as path computation.

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 October 22, 2024.

Copyright Notice

   Copyright (c) 2024 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 extracted from this
   document must include Revised BSD License text as described in

liu, et al.        Expire October 22, 2024                 [Page 1]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

   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...............................................2
   2. Model Overview.................................................3
      2.1. Relations to ietf-srv6-base...............................3
   3. SRv6 Topology YANG Module......................................3
      3.1. Tree View.................................................3
      3.2. Yang Module...............................................5
   4. Security Considerations.......................................10
   5. IANA Considerations...........................................10
   6. References....................................................10
      6.1. Normative References.....................................10
      6.2. Informative References...................................11
   Authors' Addresses...............................................11

1. Introduction

   Segment Routing (SR) [RFC8402] can be instantiated on MPLS data
   plane (SR-MPLS) and IPv6 data plane (SRv6).

   [I-D.ietf-teas-yang-sr-te-topo] defines a YANG data model for SR
   topology and SR Traffic Engineering (TE) topology which limits the
   transport type to an MPLS data plane.

   This document defines a YANG [RFC7950] data model for describing the
   presentations of SR topology and SR TE topology on IPv6 data plane.

1.1. Terminology

   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
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

liu, et al.       Expires October 22, 2024                 [Page 2]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

2. Model Overview

   The ietf-srv6-topology.yang data model is defined in this document.
   It provides the methods for representing and manipulating SR
   Topologies on IPv6 Data Plane. It includes:

   o A new topology type is defined to indicate a topology that is a
      Segment Routing (SR) topology on an IPv6 data plane.

   o The SRv6 attributes within the node scope are modeled by
      augmenting the "l3-node-attributes" in the L3 topology model
      [RFC8346], including node capabilities, supported algorithms,
      locators, Node-SIDs, and information source.

   o The SRv6 attributes within the link scope are modeled by
      augmenting the link "l3-link-attributes" of the L3 topology model
      [RFC8346], including link capabilities, Adj-SIDs, and information
      source.

2.1. Relations to ietf-srv6-base

   [I-D.ietf-spring-srv6-yang] defines ietf-srv6-base that is a model
   intended to be used on network elements to configure or operate
   SRv6; ietf-srv6-topology defined in this document is intended to be
   used on a controller for the network-wide operations such as path
   computation.

   The module ietf-srv6-topology uses the types and groupings defined
   in ietf-srv6-base.

3. SRv6 Topology YANG Module

3.1. Tree View

   The complete tree of the ietf-srv6-topology.yang data model is
   represented as following. See [RFC8340] for an explanation of the
   symbols used.

liu, et al.       Expires October 22, 2024                 [Page 3]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

   module: ietf-srv6-topology
     augment /nw:networks/nw:network/nw:network-types
               /l3t:l3-unicast-topology:
       +--rw srv6!
     augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes:
       +--rw srv6!
          +--ro node-capabilities
          |  +--ro msd
          |     +--ro max-sl?        uint8
          |     +--ro max-end-pop?   uint8
          |     +--ro max-h_encap?   uint8
          |     +--ro max-end_d?     uint8
          +--rw supported-algorithms* [algorithm]
          |  +--rw algorithm      uint8
          +--rw locators
          |  +--rw locator* [prefix-addr prefix-len]
          |     +--rw prefix-addr          inet:ipv6-address
          |     +--rw prefix-len           srv6-types:srv6-locator-len
          |     +--rw algorithm?           uint32
          |     +--rw anycast?             boolean
          |     +--ro is-readvertisment?   boolean
          |     +--rw sids
          |        +--rw sid* [sid-value]
          |           +--rw sid-value            srv6-types:srv6-sid
          |           +--rw end-behavior-type?   identityref
          +--ro information-source?              enumeration
          +--ro information-source-instance?     string
          +--ro information-source-state
             +--ro credibility-preference?       uint16
     augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes:
       +--rw srv6!
          +--ro link-capabilities
          |  +--ro msd
          |     +--ro max-sl?        uint8
          |     +--ro max-end-pop?   uint8
          |     +--ro max-h_encap?   uint8
          |     +--ro max-end_d?     uint8
          +--rw sids
          |  +--rw sid* [sid-value]
          |  +--rw sid-value                     srv6-types:srv6-sid
          |  +--rw end-behavior-type?            identityref
          |  +--ro algorithm?                    uint8
          |  +--rw is-eligible-for-protection?   boolean
          |  +--rw is-part-of-set?               boolean
          |  +--rw is-persistent?                boolean
          |  +--rw is-on-lan?                    boolean
          |  +--rw weight?                       uint8
          +--ro information-source?              enumeration

liu, et al.       Expires October 22, 2024                 [Page 4]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

          +--ro information-source-instance?     string
          +--ro information-source-state
             +--ro credibility-preference?       uint16

3.2. Yang Module

   <CODE BEGINS> file " ietf-srv6-topology@2023-10-13.yang "

   module ietf-srv6-topology {
     yang-version "1.1";
     namespace "urn:ietf:params:xml:ns:yang:ietf-srv6-topology";
     prefix "srv6-topo";

     import ietf-inet-types {
       prefix "inet";
       reference
         "RFC 6991: Common YANG Data Types";
     }
     import ietf-network {
       prefix "nw";
       reference "RFC 8345: A YANG Data Model for Network Topologies";
     }
     import ietf-network-topology {
       prefix "nt";
       reference "RFC 8345: A YANG Data Model for Network Topologies";
     }
     import ietf-l3-unicast-topology {
       prefix "l3t";
       reference "RFC 8346: A YANG Data Model for Layer 3 Topologies";
     }
     import ietf-srv6-types {
       prefix "srv6-types";
       reference "RFC XXXX: YANG Data Model for SRv6 Base and Static";
     }
     import ietf-srv6-base {
       prefix "srv6-base";
       reference "RFC XXXX: YANG Data Model for SRv6 Base and Static";
     }
     import ietf-sr-mpls-topology {
       prefix "sr-mpls-topo";
       reference
         "RFC XXXX: YANG Data Model for SR and SR TE Topologies on
          MPLS Data Plane";
     }

     organization
       "IETF TEAS Working Group";

liu, et al.       Expires October 22, 2024                 [Page 5]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

     contact
       "TBD";

     description
       "This module describes a YANG model for representing and
        manipulating Segment Routing Topologies on IPv6 Data Plane.";

     revision 2023-10-16 {
       description
         "Initial Version";
       reference
         "RFC XXXX, YANG Data Model for SR and SR TE Topologies on
          IPv6 Data Plane";
     }

     grouping srv6-topology-type {
       description
         "Identifies the SRv6 topology type. This type of network
          topologies use Segment Routing (SR) technology over the IPv6
          data plane";
       container srv6 {
         presence "Indicates SRv6 topology";
         description
           "Its presence identifies the SRv6 topology type.";
       }
     }

     grouping srv6-node-attributes {
       description "SRv6 node scope attributes.";
       container srv6 {
         presence "Presence indicates SRv6 is enabled.";
         description
           "Containing SRv6 attributes.";
         container node-capabilities {
           config false;
           description
             "SRv6 capabilities of the node.";
           uses srv6-base:srv6-msd-signaled;
         }
         list supported-algorithms {
           key "algorithm";
           description
             "Supported algorithms of the node.";
           leaf algorithm {
             type uint8 {
               range "128..255";
             }
             mandatory true;

liu, et al.       Expires October 22, 2024                 [Page 6]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

             description
               "Algorithm Id (for Flex-Algo).";
           }
         }
         container locators {
           description "SRv6 locators of the node.";
           list locator {
             key "prefix-addr prefix-len";
             description
               "An SRv6 locator";
             leaf prefix-addr {
               type inet:ipv6-address;
               mandatory true;
               description
                 "IPv6 address";
             }
             leaf prefix-len {
               type srv6-types:srv6-locator-len;
               mandatory true;
               description
                 "Locator (prefix) length";
             }
             leaf algorithm {
               type uint8 {
                 range "128..255";
               }
               description
                 "Algorithm Id (for Flex-Algo).";
             }
             leaf anycast {
               type boolean;
               default false;
               description
                 "Set to true if the locator is anycast.";
             }
             leaf is-readvertisment {
               type boolean;
               config false;
               description
                 "Set to true if the locator has been
                  readvertising from another topology.";
             }
             container sids {
               description
                 "SRv6 SIDs covered by the locator";
               list sid {
                 key "sid-value";
                 description

liu, et al.       Expires October 22, 2024                 [Page 7]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

                   "An SRv6 SID";
                 leaf sid-value {
                   type srv6-types:srv6-sid;
                   description
                     "The SID value";
                 }
                 leaf end-behavior-type {
                   type identityref {
                     base srv6-types:srv6-endpoint-type;
                   }
                   description "Type of SRv6 end behavior.";
                 }
               }
             }
           }
         }
         uses sr-mpls-topo:information-source-attributes;
       }
     }

     grouping srv6-link-attributes {
       description "SRv6 link scope attributes";
       container srv6 {
         presence "Presence indicates SRv6 is enabled.";
         description
           "Containing SRv6 attributes.";
         container link-capabilities {
           config false;
           description
             "SRv6 capabilities of the link.";
           uses srv6-base:srv6-msd-signaled;
         }
         container sids {
           description
             "SRv6 SIDs covered by the locator";
           list sid {
             key "sid-value";
             description
               "An SRv6 SID";
             leaf sid-value {
               type srv6-types:srv6-sid;
               description
                 "The SID value";
             }
             leaf end-behavior-type {
               type identityref {
                 base srv6-types:srv6-endpoint-type;
               }

liu, et al.       Expires October 22, 2024                 [Page 8]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

               description "Type of SRv6 end behavior.";
             }
             leaf algorithm {
               type uint8 {
                 range "128..255";
               }
               config false;
               description
                 "Algorithm Id (for Flex-Algo).";
             }
             leaf is-eligible-for-protection {
               type boolean;
               default false;
               description
                 "Set to true if the SID is eligible for protection.";
               reference
                 "RFC 8402: Segment Routing Architecture. Sec. 3.4.";
             }
             leaf is-part-of-set {
               type boolean;
               default false;
               description
                 "Set to true if the SID is part of a set.";
             }
             leaf is-persistent {
               type boolean;
               default true;
               description
                 "Set to true if the SID is persistently allocated.";
             }
             leaf is-on-lan {
               type boolean;
               default false;
               description
                 "Set to true if on a LAN.";
             }
             leaf weight {
               type uint8;
               description
                 "The value represents the weight of the SID for the
                  purpose of load balancing.  The use of the weight
                  is defined in RFC 8402.";
               reference
                 "RFC 8402: Segment Routing Architecture. Sec. 3.4.";
             }
           }
         }
         uses sr-mpls-topo:information-source-attributes;

liu, et al.       Expires October 22, 2024                 [Page 9]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

       }
     }

     augment "/nw:networks/nw:network/nw:network-types/"
       + "l3t:l3-unicast-topology" {
       description
         "Defines the SRv6 topology type.";
       uses srv6-topology-type;
     }

     augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" {
       when "../../nw:network-types/l3t:l3-unicast-topology/"
         + "srv6-topo:srv6" {
         description "Augment only for SRv6 topology.";
       }
       description "Augment node configuration.";
       uses srv6-node-attributes;
     }

     augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" {
       when "../../nw:network-types/l3t:l3-unicast-topology/"
         + "srv6-topo:srv6" {
         description "Augment only for SRv6 topology.";
       }
       description "Augment link configuration";
       uses srv6-link-attributes;
     }
   }
   <CODE ENDS>

4. Security Considerations

   TBD

5. IANA Considerations

   TBD

6. References

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

liu, et al.       Expires October 22, 2024                [Page 10]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

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

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

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

   [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
             Decraene, B., Litkowski, S., and R. Shakir, "Segment
             Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
             July 2018, <https://www.rfc-editor.org/info/rfc8402>.

   [I-D.ietf-spring-srv6-yang] Raza, S., Agarwal, S., Liu, X., Hu, Z.,
             Hussain, I., Shah, H. C., Voyer, D., Matsushima, S.,
             Horiba, K., Rajamanickam, J., and A. Abdelsalam, "YANG
             Data Model for SRv6 Base and Static", Work in Progress,
             Internet-Draft, draft-ietf-spring-srv6-yang-02, 23
             September 2022, <https://www.ietf.org/archive/id/draft-
             ietf-spring-srv6-yang-02.txt>.

6.2. Informative References

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

   [I-D.ietf-teas-yang-sr-te-topo] Liu, X., Bryskin, I., Beeram, V.,
             Saad, T., Shah, H., and S. Litkowski, "YANG Data Model for
             SR and SR TE Topologies on MPLS Data Plane", Work in
             Progress, Internet-Draft, draft-ietf-teas-yang-sr-te-topo-
             17, 13 March 2023,
             <https://datatracker.ietf.org/doc/html/draft-ietf-teas-
             yang-sr-te-topo-17>.

Authors' Addresses

   Yisong Liu
   China Mobile
   Beijing
   China

   Email: liuyisong@chinamobile.com

liu, et al.       Expires October 22, 2024                [Page 11]
Internet-Draft     YANG Data Model for SRv6 Topology      April 2024

   Changwang Lin
   New H3C Technologies
   China
   Email: linchangwang.04414@h3c.com

   Xufeng Liu
   Alef Edge
   United States of America
   Email: xufeng.liu.ietf@gmail.com

liu, et al.       Expires October 22, 2024                [Page 12]