draft-ietf-teas-yang-sr-te-topo-01.txt   draft-ietf-teas-yang-sr-te-topo-02.txt 
Network Working Group X. Liu Network Working Group X. Liu
Internet-Draft Jabil Internet-Draft Volta Networks
Intended status: Standards Track I. Bryskin Intended status: Standards Track I. Bryskin
Expires: September 2, 2018 Huawei Technologies Expires: January 2, 2019 Huawei Technologies
V. Beeram V. Beeram
Juniper Networks Juniper Networks
T. Saad T. Saad
Cisco Systems Inc Cisco Systems Inc
H. Shah H. Shah
Ciena Ciena
S. Litkowski S. Litkowski
Orange Business Service Orange Business Service
March 1, 2018 July 1, 2018
YANG Data Model for SR and SR TE Topologies YANG Data Model for SR and SR TE Topologies
draft-ietf-teas-yang-sr-te-topo-01 draft-ietf-teas-yang-sr-te-topo-02
Abstract Abstract
This document defines a YANG data model for Segment Routing (SR) This document defines a YANG data model for Segment Routing (SR)
topology and Segment Routing (SR) traffic engineering (TE) topology. topology and Segment Routing (SR) traffic engineering (TE) topology.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 2, 2018. This Internet-Draft will expire on January 2, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3
2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 3 2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 3
2.1. Segment Routing (SR) topology . . . . . . . . . . . . . . 3 2.1. Segment Routing (SR) Topology . . . . . . . . . . . . . . 3
2.2. Segment Routing (SR) TE topology . . . . . . . . . . . . 3 2.2. Segment Routing (SR) TE Topology . . . . . . . . . . . . 3
2.3. Relations to ietf-segment-routing . . . . . . . . . . . . 4 2.3. Relations to ietf-segment-routing . . . . . . . . . . . . 4
2.4. Open Items . . . . . . . . . . . . . . . . . . . . . . . 4 2.4. Topology Type Modeling . . . . . . . . . . . . . . . . . 5
3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 4 2.5. Topology Attributes . . . . . . . . . . . . . . . . . . . 5
4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.6. Node Attributes . . . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 2.7. Link Termination Point Attributes . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 2.8. Link in the Topology Model . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Normative References . . . . . . . . . . . . . . . . . . 11 4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.2. Informative References . . . . . . . . . . . . . . . . . 12 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
6. Security Considerations . . . . . . . . . . . . . . . . . . . 15
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1. Normative References . . . . . . . . . . . . . . . . . . 16
7.2. Informative References . . . . . . . . . . . . . . . . . 16
Appendix A. Companion YANG Model for Non-NMDA Compliant Appendix A. Companion YANG Model for Non-NMDA Compliant
Implementations . . . . . . . . . . . . . . . . . . 13 Implementations . . . . . . . . . . . . . . . . . . 18
A.1. SR Topology State Module . . . . . . . . . . . . . . . . 13 A.1. SR Topology State Module . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction 1. Introduction
This document defines a YANG [RFC7950] data model for describing the This document defines a YANG [RFC7950] data model for describing the
presentations of Segment Routing (SR) topology and Segment Routing presentations of Segment Routing (SR) topology and Segment Routing
(SR) traffic engineering (TE) topology. (SR) traffic engineering (TE) topology. The version of the model
limits the transport type to an MPLS dataplane.
1.1. Terminology 1.1. Terminology
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14, [RFC2119]. 14, [RFC2119].
The following terms are defined in [RFC7950] and are not redefined The following terms are defined in [RFC7950] and are not redefined
here: here:
skipping to change at page 3, line 4 skipping to change at page 3, line 11
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14, [RFC2119]. 14, [RFC2119].
The following terms are defined in [RFC7950] and are not redefined The following terms are defined in [RFC7950] and are not redefined
here: here:
o augment o augment
o data model o data model
o data node o data node
1.2. Tree Diagrams
Tree diagrams used in this document follow the notation defined in
[RFC8340].
2. Modeling Considerations 2. Modeling Considerations
2.1. Segment Routing (SR) topology 2.1. Segment Routing (SR) Topology
The Layer 3 network topology model is discussed in The Layer 3 network topology model is discussed in [RFC8346]. The
[I-D.ietf-i2rs-yang-l3-topology]. The Segment Routing (SR) topology Segment Routing (SR) topology model proposed in this document
model proposed in this document augments and uses the ietf-l3- augments and uses the ietf-l3-unicast-igp-topology module defined in
unicast-igp-topology module defined in [RFC8346]. SR related attributes are covered in the ietf-sr-topology
[I-D.ietf-i2rs-yang-l3-topology]. SR related attributes are covered model.
in the ietf-sr-topology model.
+------------------------------+ +------------------------------+
| Layer 3 Network Topology | | Layer 3 Network Topology |
| ietf-l3-unicast-topology | | ietf-l3-unicast-topology |
+------------------------------+ +------------------------------+
| |
| |
| |
V V
+------------------------+ +------------------------+
| SR Topology | | SR Topology |
| ietf-sr-topology | | ietf-sr-topology |
+------------------------+ +------------------------+
2.2. Segment Routing (SR) TE topology 2.2. Segment Routing (SR) TE Topology
When traffic engineering is enabled on an SR topology, there will be When traffic engineering is enabled on an SR topology, there will be
associations between objects in SR topologies and objects in TE associations between objects in SR topologies and objects in TE
topologies. An SR TE topology is both an SR topology and a layer 3 topologies. An SR TE topology is both an SR topology and a layer 3
TE topology. Multiple inheritance is used to achieve such relations. TE topology. Multiple inheritance is used to achieve such relations.
+------------------+ +---------------------+ +------------------+ +---------------------+
| SR Topology | | L3 TE Topology | | SR Topology | | L3 TE Topology |
| ietf-sr-topology | | ietf-l3-te-topology | | ietf-sr-topology | | ietf-l3-te-topology |
+------------------+ +---------------------+ +------------------+ +---------------------+
\ / \ /
\ / \ /
\ / \ /
v v v v
+------------------------+ +------------------------+
| SR TE Topology | | SR TE Topology |
| | | |
+------------------------+ +------------------------+
Each type of topologies is indicated by "network-types" defined in Each type of topologies is indicated by "network-types" defined in
[I-D.ietf-i2rs-yang-network-topo]. For the three types of topologies [RFC8345]. For the three types of topologies above, the data
above, the data representations are: representations are:
L3 Topology: L3 Topology:
/nd:networks/nd:network/nd:network-types/l3-unicast-topology /nd:networks/nd:network/nd:network-types/l3-unicast-topology
L3 TE Topology: L3 TE Topology:
/nd:networks/nd:network/nd:network-types/l3-unicast-topology/l3-te /nd:networks/nd:network/nd:network-types/l3-unicast-topology/l3-te
SR Topology: SR Topology:
/nd:networks/nd:network/nd:network-types/l3-unicast-topology/sr /nd:networks/nd:network/nd:network-types/l3-unicast-topology/sr
SR TE Topology: (multiple inheritance) SR TE Topology: (multiple inheritance)
/nd:networks/nd:network/nd:network-types/l3-unicast-topology/l3-te /nd:networks/nd:network/nd:network-types/l3-unicast-topology/l3-te
/nd:networks/nd:network/nd:network-types/l3-unicast-topology/sr /nd:networks/nd:network/nd:network-types/l3-unicast-topology/sr
2.3. Relations to ietf-segment-routing 2.3. Relations to ietf-segment-routing
[I-D.ietf-spring-sr-yang]defines ietf-segment-routing that is a model [I-D.ietf-spring-sr-yang] defines ietf-segment-routing that is a
intended to be used on network elements to configure or operate model intended to be used on network elements to configure or operate
segment routing; ietf-sr-topology defined in this document is segment routing; ietf-sr-topology defined in this document is
intended to be used on a controller for the network-wide operations intended to be used on a controller for the network-wide operations
such as path computation. such as path computation.
SR topology model shares many modeling constructs defined in ietf- SR topology model shares many modeling constructs defined in ietf-
segment-routing. The module ietf-sr-topology uses the types and segment-routing. The module ietf-sr-topology uses the types and
groupings defined in ietf-segment-routing. groupings defined in ietf-segment-routing.
2.4. Open Items 2.4. Topology Type Modeling
a. Protection on link: The feature of link protection will be A new topology type is defined in this document, to indicate a
modeled in the next revision. topology that is a Segment Routing (SR) topology.
b. Link bundle: The feature of link bundle will be modeled in the augment /nw:networks/nw:network/nw:network-types
next revision. /l3t:l3-unicast-topology:
+--rw sr!
2.5. Topology Attributes
The Segment Routing attributes with topology-wide impacts are modeled
by augmenting the container "l3-topology-attributes" in the L3
topology model. SRGB (Segment Routing Global Block) is covered in
this augmentation. A SR domain is mapped to a topology in this
model.
augment /nw:networks/nw:network/l3t:l3-topology-attributes:
+--rw sr
+--rw srgb* [lower-bound upper-bound]
+--rw lower-bound uint32
+--rw upper-bound uint32
2.6. Node Attributes
The Segment Routing attributes within the node scope are modeled by
augmenting the sub tree /nw:networks/nw:network/nw:node/ in the L3
topology model.
The SR attributes that have node-scope impact are modeled by
augmenting the container "l3-node-attributes" in the L3 topology
model, including the SR capabilities, SRGB (Segment Routing Global
Block), and SRLB (Segment Routing Local Block) specified on this
mode. This model also provides the information about how these SR
attributes are learned:
augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes:
+--rw sr
+--rw srgb* [lower-bound upper-bound]
| +--rw lower-bound uint32
| +--rw upper-bound uint32
+--rw srlb* [lower-bound upper-bound]
| +--rw lower-bound uint32
| +--rw upper-bound uint32
+--rw node-capabilities
| +--rw transport-planes* [transport-plane]
| | +--rw transport-plane identityref
| +--rw readable-label-stack-depth? uint8
+--ro information-source? enumeration
+--ro information-source-state
+--ro credibility-preference? uint16
The SR attributes that are related to a IGP-Prefix segment are
modeled by augmenting the list entry "prefix" in the L3 topology
model:
augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes
/l3t:prefix:
+--rw sr!
+--rw value-type? enumeration
+--rw start-sid uint32
+--rw range? uint32
+--rw algorithm? identityref
+--rw last-hop-behavior? enumeration
| {sid-last-hop-behavior}?
+--rw is-local? boolean
2.7. Link Termination Point Attributes
A link termination point in the topology model is mapped to an
interface from the Segment Routing perspective. The Adjacency
Segment attributes on an interface are modeled within a link
termination point. The modeling structure is as follows:
augment /nw:networks/nw:network/nw:node/nt:termination-point
/l3t:l3-termination-point-attributes:
+--rw sr!
+--rw value-type? enumeration
+--rw sid uint32
+--rw advertise-protection? enumeration
+--rw is-local? boolean
+--ro is-backup? boolean
+--ro is-part-of-set? boolean
+--ro is-on-lan? boolean
+--ro information-source? enumeration
+--ro information-source-state
+--ro credibility-preference? uint16
The usage of the leaf "advertise-protection" is described in
[I-D.ietf-spring-sr-yang].
Since YANG models are usually implemented with persistent
configuration datastores, this model supports only persistent
Adjacency Segments.
Both IGP and BGP can be supported by the model, the leaf
"information-source" is used to indicate where the information is
from.
The bundling capability of the Adjacency Segemnt is achieved by re-
using the existing modeling construct (i.e. "bundle-stack-level")
under /nw:networks/nw:network/nt:link/tet:te
[I-D.ietf-teas-yang-te-topo]
2.8. Link in the Topology Model
A link in the topology model connects the termination point on the
source node to the termination point on the destination node. When
such a link is instantiated, the bindings between the nodes and the
corresponding Adj-SIDs are formed, and the resulting FIB entries are
installed.
3. Model Structure 3. Model Structure
The model tree structure of the Segment Routing (SR) topology module The model tree structure of the Segment Routing (SR) topology module
is as shown below: is as shown below:
module: ietf-sr-topology module: ietf-sr-topology
augment /nw:networks/nw:network/nw:network-types augment /nw:networks/nw:network/nw:network-types
/l3t:l3-unicast-topology: /l3t:l3-unicast-topology:
+--rw sr! +--rw sr!
augment /nw:networks/nw:network/l3t:l3-topology-attributes: augment /nw:networks/nw:network/l3t:l3-topology-attributes:
+--rw sr +--rw sr
+--rw srgb* [lower-bound upper-bound] +--rw srgb* [lower-bound upper-bound]
+--rw lower-bound uint32 +--rw lower-bound uint32
+--rw upper-bound uint32 +--rw upper-bound uint32
augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes:
+--rw sr +--rw sr
+--rw srgb* [lower-bound upper-bound] +--rw srgb* [lower-bound upper-bound]
| +--rw lower-bound uint32 | +--rw lower-bound uint32
skipping to change at page 5, line 30 skipping to change at page 8, line 30
| +--rw lower-bound uint32 | +--rw lower-bound uint32
| +--rw upper-bound uint32 | +--rw upper-bound uint32
+--rw node-capabilities +--rw node-capabilities
| +--rw transport-planes* [transport-plane] | +--rw transport-planes* [transport-plane]
| | +--rw transport-plane identityref | | +--rw transport-plane identityref
| +--rw readable-label-stack-depth? uint8 | +--rw readable-label-stack-depth? uint8
+--ro information-source? enumeration +--ro information-source? enumeration
+--ro information-source-state +--ro information-source-state
+--ro credibility-preference? uint16 +--ro credibility-preference? uint16
augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes
/l3t:prefix: /l3t:prefix:
+--rw sr! +--rw sr!
+--rw value-type? enumeration +--rw value-type? enumeration
+--rw start-sid uint32 +--rw start-sid uint32
+--rw range? uint32 +--rw range? uint32
+--rw algorithm? identityref +--rw algorithm? identityref
+--rw last-hop-behavior? enumeration +--rw last-hop-behavior? enumeration
{sid-last-hop-behavior}? | {sid-last-hop-behavior}?
+--rw is-local? boolean +--rw is-local? boolean
augment /nw:networks/nw:network/nw:node/nt:termination-point augment /nw:networks/nw:network/nw:node/nt:termination-point
/l3t:l3-termination-point-attributes: /l3t:l3-termination-point-attributes:
augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes: +--rw sr!
+--rw sr
+--rw sid? uint32
+--rw value-type? enumeration +--rw value-type? enumeration
+--rw sid uint32
+--rw advertise-protection? enumeration
+--rw is-local? boolean +--rw is-local? boolean
+--ro is-backup? boolean
+--ro is-part-of-set? boolean +--ro is-part-of-set? boolean
+--ro is-on-lan? boolean +--ro is-on-lan? boolean
+--ro information-source? enumeration +--ro information-source? enumeration
+--ro information-source-state +--ro information-source-state
+--ro credibility-preference? uint16 +--ro credibility-preference? uint16
4. YANG Module 4. YANG Module
<CODE BEGINS> file "ietf-sr-topology@2018-02-28.yang" <CODE BEGINS> file "ietf-sr-topology@2018-06-22.yang"
module ietf-sr-topology { module ietf-sr-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology";
prefix "srt"; prefix "srt";
import ietf-network { import ietf-network {
prefix "nw"; prefix "nw";
reference "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "nt"; prefix "nt";
reference "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-l3-unicast-topology { import ietf-l3-unicast-topology {
prefix "l3t"; prefix "l3t";
reference "RFC 8346: A YANG Data Model for Layer 3 Topologies";
} }
import ietf-segment-routing-common { import ietf-segment-routing-common {
prefix "sr-cmn"; prefix "sr-cmn";
reference
"I-D.ietf-spring-sr-yang: YANG Data Model for Segment Routing";
} }
organization "TBD"; organization
contact "TBD"; "IETF Traffic Engineering Architecture and Signaling (TEAS)
description "L3 TE Topology model"; Working Group";
revision 2018-02-28 { contact
"WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
Editor: Xufeng Liu
<mailto:xufeng.liu.ietf@gmail.com>
Editor: Igor Bryskin
<mailto:Igor.Bryskin@huawei.com>
Editor: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Tarek Saad
<mailto:tsaad@cisco.com>
Editor: Himanshu Shah
<mailto:hshah@ciena.com>
Editor: Stephane Litkowski
<mailto:stephane.litkowski@orange.com>";
description
"YANG data model for representing and manipulating Segment
Routing Topologies.
Copyright (c) 2018 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 Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices.";
revision 2018-06-22 {
description "Initial revision"; description "Initial revision";
reference "TBD"; reference
"RFC XXXX: YANG Data Model for SR and SR TE Topologies";
} }
grouping sr-topology-type { grouping sr-topology-type {
description description
"Identifies the SR topology type."; "Identifies the SR topology type.";
container sr { container sr {
presence "Indiates SR Topology"; presence "Indiates SR Topology";
description description
"Its presence identifies the SR topology type."; "Its presence identifies the SR topology type.";
} }
skipping to change at page 7, line 39 skipping to change at page 11, line 37
augment "/nw:networks/nw:network/nw:node/nt:termination-point/" augment "/nw:networks/nw:network/nw:node/nt:termination-point/"
+ "l3t:l3-termination-point-attributes" { + "l3t:l3-termination-point-attributes" {
when "../../../nw:network-types/l3t:l3-unicast-topology/" when "../../../nw:network-types/l3t:l3-unicast-topology/"
+ "srt:sr" { + "srt:sr" {
description "Augment only for SR topology."; description "Augment only for SR topology.";
} }
description "Augment termination point configuration"; description "Augment termination point configuration";
uses sr-tp-attributes; uses sr-tp-attributes;
} }
augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" {
when "../../nw:network-types/l3t:l3-unicast-topology/srt:sr" {
description "Augment only for SR topology.";
}
description "Augment link configuration.";
uses sr-link-attributes;
}
grouping sr-topology-attributes { grouping sr-topology-attributes {
description "SR topology scope attributes."; description "SR topology scope attributes.";
container sr { container sr {
description description
"Containing SR attributes."; "Containing SR attributes.";
uses sr-cmn:srgb-cfg; uses sr-cmn:srgb-cfg;
} // sr } // sr
} // sr-topology-attributes } // sr-topology-attributes
grouping information-source-attributes { grouping information-source-attributes {
description description
"The attributes identifying source that has provided the "The attributes identifying source that has provided the
related information, and the source credibility."; related information, and the source credibility.";
leaf information-source { leaf information-source {
type enumeration { type enumeration {
skipping to change at page 9, line 41 skipping to change at page 13, line 29
leaf is-local { leaf is-local {
type boolean; type boolean;
description description
"'true' if the SID is local."; "'true' if the SID is local.";
} }
} // sr } // sr
} // sr-node-prefix-attributes } // sr-node-prefix-attributes
grouping sr-tp-attributes { grouping sr-tp-attributes {
description "SR termination point scope attributes"; description "SR termination point scope attributes";
} // sr-tp-attributes
grouping sr-link-attributes {
description "SR link scope attributes";
container sr { container sr {
presence "Presence indicates SR is enabled.";
description description
"Containing SR attributes."; "Containing SR attributes.";
uses sr-cmn:sid-value-type;
leaf sid { leaf sid {
type uint32; type uint32;
mandatory true;
description description
"SID."; "Adjacency SID, which can be either IGP-Adjacency SID
or BGP PeerAdj SID, depending on the context.";
}
leaf advertise-protection {
type enumeration {
enum "single" {
description
"A single Adj-SID is associated
with the adjacency and reflects
the protection configuration.";
}
enum "dual" {
description
"Two Adj-SIDs will be associated
with the adjacency if interface
is protected. In this case
one will be enforced with
backup flag set, the other
will be enforced to backup flag unset.
In case, protection is not configured,
a single Adj-SID will be advertised
with backup flag unset.";
}
}
description
"If set, the Adj-SID refers to an
adjacency being protected.";
} }
uses sr-cmn:sid-value-type;
leaf is-local { leaf is-local {
type boolean; type boolean;
description description
"'true' if the SID is local."; "'true' if the SID is local.";
} }
leaf is-backup {
type boolean;
config false;
description
"'true' if the SID is a backup.";
}
leaf is-part-of-set { leaf is-part-of-set {
type boolean; type boolean;
config false; config false;
description description
"'true' if the SID is part of a set."; "'true' if the SID is part of a set.";
} }
leaf is-on-lan { leaf is-on-lan {
type boolean; type boolean;
config false; config false;
description description
"'true' if on a lan."; "'true' if on a lan.";
} }
uses information-source-attributes; uses information-source-attributes;
} // sr } // sr
} // sr-link-attributes } // sr-tp-attributes
} }
<CODE ENDS> <CODE ENDS>
5. IANA Considerations 5. IANA Considerations
RFC Ed.: In this section, replace all occurrences of 'XXXX' with the RFC Ed.: In this section, replace all occurrences of 'XXXX' with the
actual RFC number (and remove this note). actual RFC number (and remove this note).
This document registers the following namespace URIs in the IETF XML This document registers the following namespace URIs in the IETF XML
registry [RFC3688]: registry [RFC3688]:
skipping to change at page 11, line 34 skipping to change at page 16, line 11
implications. The security considerations for the NETCONF protocol implications. The security considerations for the NETCONF protocol
are applicable. The NETCONF protocol used for sending the data are applicable. The NETCONF protocol used for sending the data
supports authentication and encryption. supports authentication and encryption.
7. References 7. References
7.1. Normative References 7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, <https://www.rfc- DOI 10.17487/RFC2119, March 1997,
editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>. <https://www.rfc-editor.org/info/rfc7950>.
[I-D.ietf-netmod-revised-datastores] [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture
and R. Wilton, "Network Management Datastore (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
Architecture", draft-ietf-netmod-revised-datastores-10 <https://www.rfc-editor.org/info/rfc8342>.
(work in progress), January 2018.
7.2. Informative References 7.2. Informative References
[I-D.ietf-i2rs-yang-network-topo] [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
Clemm, A., Medved, J., Varga, R., Bahadur, N., BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
Ananthakrishnan, H., and X. Liu, "A Data Model for Network <https://www.rfc-editor.org/info/rfc8340>.
Topologies", draft-ietf-i2rs-yang-network-topo-20 (work in
progress), December 2017.
[I-D.ietf-i2rs-yang-l3-topology] [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N.,
Clemm, A., Medved, J., Varga, R., Liu, X., 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 Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model
for Layer 3 Topologies", draft-ietf-i2rs-yang- for Layer 3 Topologies", RFC 8346, DOI 10.17487/RFC8346,
l3-topology-16 (work in progress), December 2017. March 2018, <https://www.rfc-editor.org/info/rfc8346>.
[I-D.ietf-teas-yang-te-topo] [I-D.ietf-teas-yang-te-topo]
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
O. Dios, "YANG Data Model for Traffic Engineering (TE) O. Dios, "YANG Data Model for Traffic Engineering (TE)
Topologies", draft-ietf-teas-yang-te-topo-14 (work in Topologies", draft-ietf-teas-yang-te-topo-18 (work in
progress), February 2018. progress), June 2018.
[I-D.ietf-spring-sr-yang] [I-D.ietf-spring-sr-yang]
Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG
Data Model for Segment Routing", draft-ietf-spring-sr- Data Model for Segment Routing", draft-ietf-spring-sr-
yang-08 (work in progress), December 2017. yang-08 (work in progress), December 2017.
Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations
The YANG module ietf-sr-topology defined in this document is designed The YANG module ietf-sr-topology defined in this document is designed
to be used in conjunction with implementations that support the to be used in conjunction with implementations that support the
Network Management Datastore Architecture (NMDA) defined in Network Management Datastore Architecture (NMDA) defined in
[I-D.ietf-netmod-revised-datastores]. In order to allow [RFC8342]. In order to allow implementations to use the model even
implementations to use the model even in cases when NMDA is not in cases when NMDA is not supported, the following companion module,
supported, the following companion module, ietf-sr-topology-state, is ietf-sr-topology-state, is defined as state model, which mirrors the
defined as state model, which mirrors the module ietf-sr-topology module ietf-sr-topology defined earlier in this document. However,
defined earlier in this document. However, all data nodes in the all data nodes in the companion module are non-configurable, to
companion module are non-configurable, to represent the applied represent the applied configuration or the derived operational
configuration or the derived operational states. states.
The companion module, ietf-sr-topology-state, is redundant and SHOULD The companion module, ietf-sr-topology-state, is redundant and SHOULD
NOT be supported by implementations that support NMDA. NOT be supported by implementations that support NMDA.
As the structure of the companion module mirrors that of the As the structure of the companion module mirrors that of the
coorespinding NMDA model, the YANG tree of the companion module is coorespinding NMDA model, the YANG tree of the companion module is
not depicted separately. not depicted separately.
A.1. SR Topology State Module A.1. SR Topology State Module
<CODE BEGINS> file "ietf-sr-topology-state@2018-02-28.yang" <CODE BEGINS> file "ietf-sr-topology-state@2018-06-22.yang"
module ietf-sr-topology-state { module ietf-sr-topology-state {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology-state"; namespace "urn:ietf:params:xml:ns:yang:ietf-sr-topology-state";
prefix "srt-s"; prefix "srt-s";
import ietf-sr-topology { import ietf-sr-topology {
prefix "srt"; prefix "srt";
} }
import ietf-network-state { import ietf-network-state {
prefix "nw-s"; prefix "nw-s";
reference "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-network-topology-state { import ietf-network-topology-state {
prefix "nt-s"; prefix "nt-s";
reference "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-l3-unicast-topology-state { import ietf-l3-unicast-topology-state {
prefix "l3t-s"; prefix "l3t-s";
reference "RFC 8346: A YANG Data Model for Layer 3 Topologies";
} }
import ietf-segment-routing-common { import ietf-segment-routing-common {
prefix "sr-cmn"; prefix "sr-cmn";
reference
"I-D.ietf-spring-sr-yang: YANG Data Model for Segment Routing";
} }
organization "TBD"; organization
contact "TBD"; "IETF Traffic Engineering Architecture and Signaling (TEAS)
description "L3 TE Topology model"; Working Group";
revision 2018-02-28 {
contact
"WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
Editor: Xufeng Liu
<mailto:xufeng.liu.ietf@gmail.com>
Editor: Igor Bryskin
<mailto:Igor.Bryskin@huawei.com>
Editor: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Tarek Saad
<mailto:tsaad@cisco.com>
Editor: Himanshu Shah
<mailto:hshah@ciena.com>
Editor: Stephane Litkowski
<mailto:stephane.litkowski@orange.com>";
description
"YANG data model for representing operational state information
of Segment Routing Topologies, when NMDA is not supported.
Copyright (c) 2018 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 Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices.";
revision 2018-06-22 {
description "Initial revision"; description "Initial revision";
reference "TBD"; reference
"RFC XXXX: YANG Data Model for SR and SR TE Topologies";
} }
augment "/nw-s:networks/nw-s:network/nw-s:network-types/" augment "/nw-s:networks/nw-s:network/nw-s:network-types/"
+ "l3t-s:l3-unicast-topology" { + "l3t-s:l3-unicast-topology" {
description description
"Defines the SR topology type."; "Defines the SR topology type.";
uses srt:sr-topology-type; uses srt:sr-topology-type;
} }
augment "/nw-s:networks/nw-s:network/" augment "/nw-s:networks/nw-s:network/"
skipping to change at page 15, line 6 skipping to change at page 21, line 4
augment "/nw-s:networks/nw-s:network/nw-s:node/" augment "/nw-s:networks/nw-s:network/nw-s:node/"
+ "nt-s:termination-point/" + "nt-s:termination-point/"
+ "l3t-s:l3-termination-point-attributes" { + "l3t-s:l3-termination-point-attributes" {
when "../../../nw-s:network-types/l3t-s:l3-unicast-topology/" when "../../../nw-s:network-types/l3t-s:l3-unicast-topology/"
+ "srt-s:sr" { + "srt-s:sr" {
description "Augment only for SR topology."; description "Augment only for SR topology.";
} }
description "Augment termination point configuration"; description "Augment termination point configuration";
uses srt:sr-tp-attributes; uses srt:sr-tp-attributes;
}
augment "/nw-s:networks/nw-s:network/nt-s:link/"
+ "l3t-s:l3-link-attributes" {
when "../../nw-s:network-types/l3t-s:l3-unicast-topology/"
+ "srt-s:sr" {
description "Augment only for SR topology.";
}
description "Augment link configuration.";
uses srt:sr-link-attributes;
} }
grouping sr-topology-attributes { grouping sr-topology-attributes {
description "SR topology scope attributes."; description "SR topology scope attributes.";
container sr { container sr {
description description
"Containing SR attributes."; "Containing SR attributes.";
uses sr-cmn:srgb-cfg; uses sr-cmn:srgb-cfg;
} // sr } // sr
} // sr-topology-attributes } // sr-topology-attributes
} }
<CODE ENDS> <CODE ENDS>
Authors' Addresses Authors' Addresses
Xufeng Liu Xufeng Liu
Jabil Volta Networks
8281 Greensboro Drive, Suite 200
McLean VA 22102
USA
EMail: Xufeng_Liu@jabil.com EMail: xufeng.liu.ietf@gmail.com
Igor Bryskin Igor Bryskin
Huawei Technologies Huawei Technologies
EMail: Igor.Bryskin@huawei.com EMail: Igor.Bryskin@huawei.com
Vishnu Pavan Beeram Vishnu Pavan Beeram
Juniper Networks Juniper Networks
EMail: vbeeram@juniper.net EMail: vbeeram@juniper.net
 End of changes. 64 change blocks. 
112 lines changed or deleted 330 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/