< draft-ietf-spring-sr-yang-18.txt   draft-ietf-spring-sr-yang-19.txt >
SPRING Working Group S. Litkowski SPRING Working Group S. Litkowski
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Intended status: Standards Track Y. Qu Intended status: Standards Track Y. Qu
Expires: January 27, 2021 Futurewei Expires: February 3, 2021 Futurewei
A. Lindem A. Lindem
Cisco Systems Cisco Systems
P. Sarkar P. Sarkar
Individual Individual
J. Tantsura J. Tantsura
Apstra Apstra
July 26, 2020 August 2, 2020
YANG Data Model for Segment Routing YANG Data Model for Segment Routing
draft-ietf-spring-sr-yang-18 draft-ietf-spring-sr-yang-19
Abstract Abstract
This document defines a YANG data model for segment routing This document defines a YANG data model for segment routing
configuration and operation, which is to be augmented by different configuration and operation, which is to be augmented by different
segment routing data planes. The document also defines a YANG model segment routing data planes. The document also defines a YANG model
that is intended to be used on network elements to configure or that is intended to be used on network elements to configure or
operate segment routing MPLS data plane, as well as some generic operate segment routing MPLS data plane, as well as some generic
containers to be reused by IGP protocol modules to support segment containers to be reused by IGP protocol modules to support segment
routing. routing.
skipping to change at page 1, line 43 skipping to change at page 1, line 43
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 January 27, 2021. This Internet-Draft will expire on February 3, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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
skipping to change at page 8, line 49 skipping to change at page 8, line 49
o segment-routing-index-out-of-range: Raised when a control plane o segment-routing-index-out-of-range: Raised when a control plane
advertised index fall outside the range of SRGBs configured for advertised index fall outside the range of SRGBs configured for
the network device. the network device.
8. YANG Module 8. YANG Module
The following RFCs and drafts are not referenced in the document text The following RFCs and drafts are not referenced in the document text
but are referenced in the ietf-segment-rouuting-common.yang and/or but are referenced in the ietf-segment-rouuting-common.yang and/or
ietf-segment-routing.yang module: [RFC6991], [RFC8294], [RFC8476], ietf-segment-routing.yang module: [RFC6991], [RFC8294], [RFC8476],
and [RFC8491]. [RFC8491], [RFC8665], and [RFC8667].
<CODE BEGINS> file "ietf-segment-routing@2020-07-24.yang" <CODE BEGINS> file "ietf-segment-routing@2020-08-02.yang"
module ietf-segment-routing { module ietf-segment-routing {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-segment-routing"; namespace "urn:ietf:params:xml:ns:yang:ietf-segment-routing";
prefix sr; prefix sr;
import ietf-routing { import ietf-routing {
prefix rt; prefix rt;
reference "RFC 8349: A YANG Data Model for Routing reference "RFC 8349: A YANG Data Model for Routing
Management (NMDA Version)"; Management (NMDA Version)";
} }
skipping to change at page 10, line 13 skipping to change at page 10, line 13
see the RFC itself for full legal notices. see the RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2020-07-24 { revision 2020-08-02 {
description description
"Initial Version"; "Initial Version";
reference "RFC XXXX: YANG Data Model for Segment Routing."; reference "RFC XXXX: YANG Data Model for Segment Routing.";
} }
augment "/rt:routing" { augment "/rt:routing" {
description description
"This module augments routing data model (RFC 8349) "This module augments routing data model (RFC 8349)
with Segment Routing (SR)."; with Segment Routing (SR).";
container segment-routing { container segment-routing {
description description
"Segment Routing configuration. This container "Segment Routing configuration. This container
is to be augmented by models for different SR is to be augmented by models for different SR
data planes."; data planes.";
reference "RFC 8402: Segment Routing Architecture."; reference "RFC 8402: Segment Routing Architecture.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
<CODE BEGINS> file "ietf-segment-routing-common@2020-07-24.yang" <CODE BEGINS> file "ietf-segment-routing-common@2020-08-02.yang"
module ietf-segment-routing-common { module ietf-segment-routing-common {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-segment-routing-common"; "urn:ietf:params:xml:ns:yang:ietf-segment-routing-common";
prefix sr-cmn; prefix sr-cmn;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
skipping to change at page 11, line 44 skipping to change at page 11, line 44
see the RFC itself for full legal notices. see the RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2020-07-24 { revision 2020-08-02 {
description description
"Initial version"; "Initial version";
reference "RFC XXXX: YANG Data Model for Segment Routing."; reference "RFC XXXX: YANG Data Model for Segment Routing.";
} }
feature sid-last-hop-behavior { feature sid-last-hop-behavior {
description description
"Configurable last hop behavior."; "Configurable last hop behavior.";
reference "RFC 8660: Segment Routing with the MPLS Data Plane"; reference "RFC 8660: Segment Routing with the MPLS Data Plane";
} }
skipping to change at page 15, line 49 skipping to change at page 15, line 49
leaf algorithm { leaf algorithm {
type identityref { type identityref {
base prefix-sid-algorithm; base prefix-sid-algorithm;
} }
description description
"Prefix-sid algorithm."; "Prefix-sid algorithm.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
<CODE BEGINS> file "ietf-segment-routing-mpls@2020-07-24.yang" <CODE BEGINS> file "ietf-segment-routing-mpls@2020-08-02.yang"
module ietf-segment-routing-mpls { module ietf-segment-routing-mpls {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-segment-routing-mpls"; namespace "urn:ietf:params:xml:ns:yang:ietf-segment-routing-mpls";
prefix sr-mpls; prefix sr-mpls;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
skipping to change at page 17, line 30 skipping to change at page 17, line 30
see the RFC itself for full legal notices. see the RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as 'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here."; they appear in all capitals, as shown here.";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2020-07-24 { revision 2020-08-02 {
description description
"Initial Version"; "Initial Version";
reference "RFC XXXX: YANG Data Model for Segment Routing."; reference "RFC XXXX: YANG Data Model for Segment Routing.";
} }
feature mapping-server { feature mapping-server {
description description
"Support for Segment Routing Mapping Server (SRMS)."; "Support for Segment Routing Mapping Server (SRMS).";
reference "RFC 8661: Segment Routing MPLS Interworking with LDP"; reference "RFC 8661: Segment Routing MPLS Interworking with LDP";
} }
skipping to change at page 18, line 44 skipping to change at page 18, line 44
"Segment Routing global configuration."; "Segment Routing global configuration.";
leaf enabled { leaf enabled {
type boolean; type boolean;
default "false"; default "false";
description description
"Enables segment-routing protocol extensions."; "Enables segment-routing protocol extensions.";
} }
container bindings { container bindings {
description description
"Control of binding advertisement and reception."; "Control of binding advertisement and reception.";
if-feature mapping-server;
container advertise { container advertise {
description description
"Control advertisement of local mappings "Control advertisement of local mappings
in binding TLVs."; in binding TLVs.";
leaf-list policies { leaf-list policies {
type leafref { type leafref {
path "/rt:routing/sr:segment-routing/sr-mpls:sr-mpls" path "/rt:routing/sr:segment-routing/sr-mpls:sr-mpls"
+ "/sr-mpls:bindings/sr-mpls:mapping-server" + "/sr-mpls:bindings/sr-mpls:mapping-server"
+ "/sr-mpls:policy/sr-mpls:name"; + "/sr-mpls:policy/sr-mpls:name";
} }
skipping to change at page 19, line 45 skipping to change at page 19, line 46
type uint32; type uint32;
description description
"Value of the Adj-SID."; "Value of the Adj-SID.";
} }
leaf protected { leaf protected {
type boolean; type boolean;
default false; default false;
description description
"It is used to protect the manual adj-SID."; "It is used to protect the manual adj-SID.";
} }
leaf weight {
type uint8;
description
"The load-balancing factor over parallel adjacencies.";
reference "RFC 8402: Segment Routing Architecture
RFC 8665: OSPF Extensions for Segment Routing
RFC 8667: IS-IS Extensions for Segment Routing";
}
description description
"List of adj-sid configuration."; "List of adj-sid configuration.";
} }
list advertise-adj-group-sid { list advertise-adj-group-sid {
key "group-id"; key "group-id";
description description
"Control advertisement of S flag. Enable advertisement "Control advertisement of S flag. Enable advertisement
of a common Adj-SID for parallel links."; of a common Adj-SID for parallel links.";
leaf group-id { leaf group-id {
type uint32; type uint32;
skipping to change at page 31, line 11 skipping to change at page 31, line 16
"Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491,
DOI 10.17487/RFC8491, November 2018, DOI 10.17487/RFC8491, November 2018,
<https://www.rfc-editor.org/info/rfc8491>. <https://www.rfc-editor.org/info/rfc8491>.
[RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing with the MPLS Data Plane", RFC 8660, Routing with the MPLS Data Plane", RFC 8660,
DOI 10.17487/RFC8660, December 2019, DOI 10.17487/RFC8660, December 2019,
<https://www.rfc-editor.org/info/rfc8660>. <https://www.rfc-editor.org/info/rfc8660>.
[RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler,
H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
Extensions for Segment Routing", RFC 8665,
DOI 10.17487/RFC8665, December 2019,
<https://www.rfc-editor.org/info/rfc8665>.
[RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C.,
Bashandy, A., Gredler, H., and B. Decraene, "IS-IS
Extensions for Segment Routing", RFC 8667,
DOI 10.17487/RFC8667, December 2019,
<https://www.rfc-editor.org/info/rfc8667>.
12.2. Informative References 12.2. Informative References
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>. <https://www.rfc-editor.org/info/rfc8340>.
Appendix A. Configuration example Appendix A. Configuration example
The following is an XML example using the SR MPLS YANG modules. The following is an XML example using the SR MPLS YANG modules.
 End of changes. 14 change blocks. 
11 lines changed or deleted 32 lines changed or added

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