Internet DRAFT - draft-liu-teas-yang-srv6-te-topo
draft-liu-teas-yang-srv6-te-topo
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
<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 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;
}
}
<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 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,
<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 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]