draft-ietf-teas-yang-sr-te-topo-03.txt   draft-ietf-teas-yang-sr-te-topo-04.txt 
Network Working Group X. Liu Network Working Group X. Liu
Internet-Draft Volta Networks Internet-Draft Volta Networks
Intended status: Standards Track I. Bryskin Intended status: Standards Track I. Bryskin
Expires: April 25, 2019 Huawei Technologies Expires: September 12, 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
October 22, 2018 March 11, 2019
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-03 draft-ietf-teas-yang-sr-te-topo-04
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.
skipping to change at page 1, line 40 skipping to change at page 1, line 40
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 https://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 April 25, 2019. This Internet-Draft will expire on September 12, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://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
skipping to change at page 2, line 25 skipping to change at page 2, line 25
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 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. Topology Type Modeling . . . . . . . . . . . . . . . . . 5 2.4. Topology Type Modeling . . . . . . . . . . . . . . . . . 5
2.5. Topology Attributes . . . . . . . . . . . . . . . . . . . 5 2.5. Topology Attributes . . . . . . . . . . . . . . . . . . . 5
2.6. Node Attributes . . . . . . . . . . . . . . . . . . . . . 5 2.6. Node Attributes . . . . . . . . . . . . . . . . . . . . . 5
2.7. Link Attributes . . . . . . . . . . . . . . . . . . . . . 6 2.7. Link Attributes . . . . . . . . . . . . . . . . . . . . . 6
3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 7 3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 7
4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. YANG Module . . . . . . . . . . . . . . . . . . . . . . . . . 9
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6. Security Considerations . . . . . . . . . . . . . . . . . . . 16 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.1. Normative References . . . . . . . . . . . . . . . . . . 18 7.1. Normative References . . . . . . . . . . . . . . . . . . 18
7.2. Informative References . . . . . . . . . . . . . . . . . 19 7.2. Informative References . . . . . . . . . . . . . . . . . 19
Appendix A. Companion YANG Model for Non-NMDA Compliant Appendix A. Companion YANG Model for Non-NMDA Compliant
Implementations . . . . . . . . . . . . . . . . . . 20 Implementations . . . . . . . . . . . . . . . . . . 21
A.1. SR Topology State Module . . . . . . . . . . . . . . . . 20 A.1. SR Topology State Module . . . . . . . . . . . . . . . . 21
Appendix B. Data Tree Example . . . . . . . . . . . . . . . . . 23 Appendix B. Data Tree Example . . . . . . . . . . . . . . . . . 24
Appendix C. Contributors . . . . . . . . . . . . . . . . . . . . 30 Appendix C. Contributors . . . . . . . . . . . . . . . . . . . . 31
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
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. The version of the model (SR) traffic engineering (TE) topology. The version of the model
limits the transport type to an MPLS dataplane. limits the transport type to an MPLS dataplane.
1.1. Terminology 1.1. Terminology
skipping to change at page 8, line 12 skipping to change at page 8, line 12
+--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
+--rw srlb* [lower-bound upper-bound] +--rw srlb* [lower-bound upper-bound]
| +--rw lower-bound uint32 | +--rw lower-bound uint32
| +--rw upper-bound uint32 | +--rw upper-bound uint32
+--ro node-capabilities +--ro node-capabilities
| +--ro transport-planes* [transport-plane] | +--ro transport-planes* [transport-plane]
| | +--ro transport-plane identityref | | +--ro transport-plane identityref
| +--ro entropy-readable-label-depth? uint8 | +--ro entropy-readable-label-depth? uint8
+--rw msd? uint8 {msd}? +--rw msd? uint8 {msd}?
+--ro information-source? enumeration +--ro information-source? enumeration
+--ro information-source-instance? string
+--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
+--rw is-node? boolean +--rw is-node? boolean
+--ro is-readvertisment? boolean +--ro is-readvertisment? boolean
augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes: augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes:
+--rw sr! +--rw sr!
+--rw value-type? enumeration +--rw value-type? enumeration
+--rw sid uint32 +--rw sid uint32
+--rw advertise-protection? enumeration +--rw advertise-protection? enumeration
+--rw is-local? boolean +--rw is-local? boolean
+--rw msd? uint8 {msd}? +--rw msd? uint8 {msd}?
+--rw address-family? enumeration +--rw address-family? enumeration
+--rw is-backup? boolean +--rw is-backup? boolean
+--rw is-part-of-set? boolean +--rw is-part-of-set? boolean
+--rw is-persistent? boolean +--rw is-persistent? boolean
+--rw is-on-lan? boolean +--rw is-on-lan? boolean
+--ro information-source? enumeration +--ro information-source? enumeration
+--ro information-source-instance? string
+--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-10-03.yang" <CODE BEGINS> file "ietf-sr-topology@2019-03-09.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"; reference "RFC 8345: A YANG Data Model for Network Topologies";
} }
import ietf-network-topology { import ietf-network-topology {
skipping to change at page 10, line 20 skipping to change at page 10, line 26
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices."; RFC itself for full legal notices.";
revision 2018-10-03 { revision 2019-03-09 {
description "Initial revision"; description "Initial revision";
reference reference
"RFC XXXX: YANG Data Model for SR and SR TE Topologies"; "RFC XXXX: YANG Data Model for SR and SR TE Topologies";
} }
feature msd { feature msd {
description description
"Support of signaling MSD (Maximum SID Depth) in IGP."; "Support of signaling MSD (Maximum SID Depth) in IGP.";
} }
skipping to change at page 11, line 43 skipping to change at page 11, line 49
} }
description "Augment link configuration"; description "Augment link configuration";
uses sr-link-attributes; 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;
} // 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 {
enum "unknown" { enum "unknown" {
description "The source is unknown."; description "The source is unknown.";
} }
enum "locally-configured" { enum "locally-configured" {
skipping to change at page 12, line 20 skipping to change at page 12, line 25
} }
enum "ospfv2" { enum "ospfv2" {
description "OSPFv2."; description "OSPFv2.";
} }
enum "ospfv3" { enum "ospfv3" {
description "OSPFv3."; description "OSPFv3.";
} }
enum "isis" { enum "isis" {
description "ISIS."; description "ISIS.";
} }
enum "bgp-ls" {
description "BGP-LS.";
reference
"RFC 7752: North-Bound Distribution of Link-State and
Traffic Engineering (TE) Information Using BGP";
}
enum "system-processed" { enum "system-processed" {
description "System processed entity."; description "System processed entity.";
} }
enum "other" { enum "other" {
description "Other source."; description "Other source.";
} }
} }
config false; config false;
description description
"Indicates the source of the information."; "Indicates the type of the information source.";
}
leaf information-source-instance {
type string;
config false;
description
"The name indicating the instance of the information
source.";
} }
container information-source-state { container information-source-state {
config false; config false;
description description
"The container contains state attributes related to "The container contains state attributes related to
the information source."; the information source.";
leaf credibility-preference { leaf credibility-preference {
type uint16; type uint16;
description description
"The preference value to calculate the traffic "The preference value to calculate the traffic
skipping to change at page 13, line 5 skipping to change at page 13, line 23
Higher value is more preferable."; Higher value is more preferable.";
} }
} }
} // information-source-attributes } // information-source-attributes
grouping sr-node-attributes { grouping sr-node-attributes {
description "SR node scope attributes."; description "SR node scope attributes.";
container sr { container sr {
description description
"Containing SR attributes."; "Containing SR attributes.";
uses sr-cmn:srgb-cfg; uses sr-cmn:srgb;
uses sr-cmn:srlb-cfg; uses sr-cmn:srlb;
uses sr-cmn:node-capabilities; uses sr-cmn:node-capabilities;
leaf msd { leaf msd {
if-feature "msd"; if-feature "msd";
type uint8; type uint8;
description description
"Node MSD is the lowest MSD supported by the node."; "Node MSD is the lowest MSD supported by the node.";
} }
// Operational state data // Operational state data
uses information-source-attributes; uses information-source-attributes;
} // sr } // sr
skipping to change at page 19, line 41 skipping to change at page 20, line 13
2018, <https://www.rfc-editor.org/info/rfc8345>. 2018, <https://www.rfc-editor.org/info/rfc8345>.
[RFC8346] Clemm, A., Medved, J., Varga, R., Liu, X., [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", RFC 8346, DOI 10.17487/RFC8346, for Layer 3 Topologies", RFC 8346, DOI 10.17487/RFC8346,
March 2018, <https://www.rfc-editor.org/info/rfc8346>. 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-18 (work in Topologies", draft-ietf-teas-yang-te-topo-19 (work in
progress), June 2018. progress), February 2019.
[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., Lindem, A., Sarkar, P., and J.
Data Model for Segment Routing", draft-ietf-spring-sr- Tantsura, "YANG Data Model for Segment Routing", draft-
yang-09 (work in progress), June 2018. ietf-spring-sr-yang-12 (work in progress), February 2019.
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
[RFC8342]. In order to allow implementations to use the model even [RFC8342]. In order to allow implementations to use the model even
in cases when NMDA is not supported, the following companion module, in cases when NMDA is not supported, the following companion module,
ietf-sr-topology-state, is defined as state model, which mirrors the ietf-sr-topology-state, is defined as state model, which mirrors the
module ietf-sr-topology defined earlier in this document. However, module ietf-sr-topology defined earlier in this document. However,
skipping to change at page 20, line 27 skipping to change at page 21, line 27
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-10-03.yang" <CODE BEGINS> file "ietf-sr-topology-state@2019-03-09.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";
skipping to change at page 21, line 50 skipping to change at page 22, line 50
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Simplified BSD License set the license terms contained in, the Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see the This version of this YANG module is part of RFC XXXX; see the
RFC itself for full legal notices."; RFC itself for full legal notices.";
revision 2018-10-03 { revision 2019-03-09 {
description "Initial revision"; description "Initial revision";
reference reference
"RFC XXXX: YANG Data Model for SR and SR TE Topologies"; "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;
skipping to change at page 23, line 12 skipping to change at page 24, line 12
description "Augment link configuration"; description "Augment link configuration";
uses srt:sr-link-attributes; 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;
} // sr } // sr
} // sr-topology-attributes } // sr-topology-attributes
} }
<CODE ENDS> <CODE ENDS>
Appendix B. Data Tree Example Appendix B. Data Tree Example
This section contains an example of an instance data tree in the JSON This section contains an example of an instance data tree in the JSON
encoding [RFC7951]. The example instantiates "ietf-sr-topology" for encoding [RFC7951]. The example instantiates "ietf-sr-topology" for
the topology that is depicted in the following diagram. the topology that is depicted in the following diagram.
 End of changes. 22 change blocks. 
40 lines changed or deleted 54 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/