TEAS Working Group Y. Liu Internet Draft China Mobile Intended status: Standards Track C. Lin Expires: April 21, 2024 New H3C Technologies X. Liu Alef Edge October 21, 2023 YANG Data Model for SR and SR TE Topologies on IPv6 Data Plane draft-liu-teas-yang-srv6-te-topo-00 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 April 21, 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 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 April 21, 2024 [Page 1] Internet-Draft YANG Data Model for SRv6 Topology October 2023 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 April 21, 2024 [Page 2] Internet-Draft YANG Data Model for SRv6 Topology October 2023 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 April 21, 2024 [Page 3] Internet-Draft YANG Data Model for SRv6 Topology October 2023 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 April 21, 2024 [Page 4] Internet-Draft YANG Data Model for SRv6 Topology October 2023 +--ro information-source-instance? string +--ro information-source-state +--ro credibility-preference? uint16 3.2. Yang Module 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 April 21, 2024 [Page 5] Internet-Draft YANG Data Model for SRv6 Topology October 2023 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 April 21, 2024 [Page 6] Internet-Draft YANG Data Model for SRv6 Topology October 2023 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 April 21, 2024 [Page 7] Internet-Draft YANG Data Model for SRv6 Topology October 2023 "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 April 21, 2024 [Page 8] Internet-Draft YANG Data Model for SRv6 Topology October 2023 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 April 21, 2024 [Page 9] Internet-Draft YANG Data Model for SRv6 Topology October 2023 } } 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; } } 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, . liu, et al. Expires April 21, 2024 [Page 10] Internet-Draft YANG Data Model for SRv6 Topology October 2023 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [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, . [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, . [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, . 6.2. Informative References [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, . [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, . Authors' Addresses Yisong Liu China Mobile Beijing China Email: liuyisong@chinamobile.com liu, et al. Expires April 21, 2024 [Page 11] Internet-Draft YANG Data Model for SRv6 Topology October 2023 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 April 21, 2024 [Page 12]