draft-ietf-spring-sr-yang-08.txt   draft-ietf-spring-sr-yang-09.txt 
SPRING Working Group S. Litkowski SPRING Working Group S. Litkowski
Internet-Draft Orange Business Service Internet-Draft Orange Business Service
Intended status: Standards Track Y. Qu Intended status: Standards Track Y. Qu
Expires: July 1, 2018 Huawei Expires: December 30, 2018 Huawei
P. Sarkar P. Sarkar
J. Tantsura
Individual Individual
December 28, 2017 J. Tantsura
Nuage Networks
June 28, 2018
YANG Data Model for Segment Routing YANG Data Model for Segment Routing
draft-ietf-spring-sr-yang-08 draft-ietf-spring-sr-yang-09
Abstract Abstract
This document defines a YANG data model ([RFC6020], [RFC7950]) for This document defines a YANG data model ([RFC6020], [RFC7950]) for
segment routing ([I-D.ietf-spring-segment-routing]) configuration and segment routing ([I-D.ietf-spring-segment-routing]) configuration and
operation. This YANG model is intended to be used on network operation. This YANG model is intended to be used on network
elements to configure or operate segment routing. This document elements to configure or operate segment routing. This document
defines also generic containers that SHOULD be reused by IGP protocol defines also generic containers that SHOULD be reused by IGP protocol
modules to support segment routing. modules to support segment routing.
skipping to change at page 1, line 45 skipping to change at page 1, line 46
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 July 1, 2018. This Internet-Draft will expire on December 30, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 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
(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 3, line 22 skipping to change at page 3, line 22
As the module definition is just starting, it is expected that there As the module definition is just starting, it is expected that there
will be changes as the module matures. will be changes as the module matures.
module: ietf-segment-routing module: ietf-segment-routing
augment /rt:routing: augment /rt:routing:
+--rw segment-routing +--rw segment-routing
+--rw transport-type? identityref +--rw transport-type? identityref
+--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 readable-label-stack-depth? uint8 | +--ro entropy-readable-label-depth? uint8
+--rw msd {msd}? +--rw msd {msd}?
| +--rw node-msd? uint8 | +--rw node-msd? uint8
| +--rw link-msd | +--rw link-msd
| +--rw link-msds* [interface] | +--rw link-msds* [interface]
| +--rw interface if:interface-ref | +--rw interface if:interface-ref
| +--rw msd? uint8 | +--rw msd? uint8
+--rw bindings +--rw bindings
| +--rw mapping-server {mapping-server}? | +--rw mapping-server {mapping-server}?
| | +--rw policy* [name] | | +--rw policy* [name]
| | +--rw name string | | +--rw name string
skipping to change at page 8, line 35 skipping to change at page 8, line 35
advertised index is already associated with another target (in advertised index is already associated with another target (in
this version, the only defined targets are IPv4 and IPv6 this version, the only defined targets are IPv4 and IPv6
prefixes). prefixes).
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.
7. YANG Module 7. YANG Module
<CODE BEGINS> file "ietf-segment-routing-common@2017-12-28.yang" <CODE BEGINS> file "ietf-segment-routing-common@2018-06-25.yang"
module ietf-segment-routing-common { module ietf-segment-routing-common {
namespace "urn:ietf:params:xml:ns:yang:ietf-segment-routing-common"; namespace "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;
} }
organization organization
"IETF SPRING - SPRING Working Group"; "IETF SPRING - SPRING Working Group";
skipping to change at page 9, line 35 skipping to change at page 9, line 35
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set 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; This version of this YANG module is part of RFC XXXX;
see the RFC itself for full legal notices."; see the RFC itself for full legal notices.";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2017-12-28 { revision 2018-06-25 {
description description
" "
* Renamed readable-label-stack-depth to entropy-readable-label-depth;
"; ";
reference "RFC XXXX: YANG Data Model for Segment Routing."; reference "RFC XXXX: YANG Data Model for Segment Routing.";
} }
revision 2017-07-01 { revision 2017-07-01 {
description description
" "
*Conform to RFC6087BIS Appendix C *Conform to RFC6087BIS Appendix C
"; ";
reference "RFC XXXX: YANG Data Model for Segment Routing."; reference "RFC XXXX: YANG Data Model for Segment Routing.";
} }
skipping to change at page 11, line 51 skipping to change at page 12, line 4
} }
grouping srlb-cfg { grouping srlb-cfg {
description description
"Grouping for SR Local Block range configuration."; "Grouping for SR Local Block range configuration.";
list srlb { list srlb {
key "lower-bound upper-bound"; key "lower-bound upper-bound";
ordered-by user; ordered-by user;
description description
"List of SRLBs."; "List of SRLBs.";
uses srlr;
uses srlr;
} }
} }
grouping sid-value-type { grouping sid-value-type {
description description
"Defines how the SID value is expressed."; "Defines how the SID value is expressed.";
leaf value-type { leaf value-type {
type enumeration { type enumeration {
enum "index" { enum "index" {
description description
skipping to change at page 13, line 47 skipping to change at page 13, line 47
description description
"List of supported transport planes."; "List of supported transport planes.";
leaf transport-plane { leaf transport-plane {
type identityref { type identityref {
base segment-routing-transport; base segment-routing-transport;
} }
description description
"Transport plane supported"; "Transport plane supported";
} }
} }
leaf readable-label-stack-depth { leaf entropy-readable-label-depth {
type uint8; type uint8;
description description
"Number of MPLS labels that "Maximum label statck depth that
can be read in the stack."; the router can read. ";
} }
} }
} }
grouping prefix-sid-attributes { grouping prefix-sid-attributes {
description description
"Containing SR attributes for a prefix."; "Containing SR attributes for a prefix.";
uses sid-value-type; uses sid-value-type;
leaf start-sid { leaf start-sid {
skipping to change at page 14, line 38 skipping to change at page 14, line 38
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@2017-12-28.yang" <CODE BEGINS> file "ietf-segment-routing@2018-06-25.yang"
module ietf-segment-routing { module ietf-segment-routing {
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-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
} }
import ietf-yang-types {
prefix yang;
}
import ietf-routing { import ietf-routing {
prefix rt; prefix rt;
} }
import ietf-interfaces { import ietf-interfaces {
prefix if; prefix if;
} }
import ietf-routing-types {
prefix rt-types;
}
import ietf-segment-routing-common { import ietf-segment-routing-common {
prefix sr-cmn; prefix sr-cmn;
} }
organization organization
"IETF SPRING Working Group"; "IETF SPRING - SPRING Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/spring/> "WG Web: <http://tools.ietf.org/wg/spring/>
WG List: <mailto:spring@ietf.org> WG List: <mailto:spring@ietf.org>
Editor: Stephane Litkowski Editor: Stephane Litkowski
<mailto:stephane.litkowski@orange.com> <mailto:stephane.litkowski@orange.com>
Editor: Yingzhen Qu Editor: Yingzhen Qu
<mailto:yingzhen.qu@huawei.com> <mailto:yingzhen.qu@huawei.com>
Author: Acee Lindem Author: Acee Lindem
skipping to change at page 15, line 34 skipping to change at page 15, line 37
<mailto:pushpasis.ietf@gmail.com> <mailto:pushpasis.ietf@gmail.com>
Author: Jeff Tantsura Author: Jeff Tantsura
<jefftant.ietf@gmail.com> <jefftant.ietf@gmail.com>
"; ";
description description
"The YANG module defines a generic configuration model for "The YANG module defines a generic configuration model for
Segment routing common across all of the vendor Segment routing common across all of the vendor
implementations. implementations.
Copyright (c) 2017 IETF Trust and the persons identified as Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
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 without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set 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; This version of this YANG module is part of RFC XXXX;
see the RFC itself for full legal notices."; see the RFC itself for full legal notices.";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-06-25 {
revision 2017-12-28 {
description description
""; "";
reference "RFC XXXX: YANG Data Model for Segment Routing."; reference "RFC XXXX: YANG Data Model for Segment Routing.";
} }
revision 2017-07-01 { revision 2017-07-01 {
description description
" "
* Implement NMDA model * Implement NMDA model
*Conform to RFC6087BIS Appendix C *Conform to RFC6087BIS Appendix C
"; ";
reference "RFC XXXX: YANG Data Model for Segment Routing."; reference "RFC XXXX: YANG Data Model for Segment Routing.";
} }
skipping to change at page 18, line 21 skipping to change at page 18, line 24
pattern "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.00"; pattern "[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.[0-9A-Fa-f]{4}\\.00";
} }
description description
"This type defines ISIS system id using pattern, "This type defines ISIS system id using pattern,
system id looks like : 0143.0438.AeF0.00"; system id looks like : 0143.0438.AeF0.00";
} }
typedef router-id { typedef router-id {
type union { type union {
type system-id; type system-id;
type yang:dotted-quad; type rt-types:router-id;
} }
description description
"OSPF/BGP router id or ISIS system ID."; "OSPF/BGP router id or ISIS system ID.";
} }
grouping controlplane-cfg { grouping controlplane-cfg {
description description
"Defines protocol configuration."; "Defines protocol configuration.";
container segment-routing { container segment-routing {
description description
skipping to change at page 20, line 49 skipping to change at page 21, line 4
"Name of the interface."; "Name of the interface.";
} }
leaf msd { leaf msd {
type uint8; type uint8;
description description
"SID depth of the interface associated with the link."; "SID depth of the interface associated with the link.";
} }
} }
} }
} }
augment "/rt:routing" { augment "/rt:routing" {
description description
"This augments routing-instance "This augments routing data model (RFC 8349)
configuration with segment-routing."; with segment-routing.";
container segment-routing { container segment-routing {
description description
"segment routing global config."; "segment routing global config.";
leaf transport-type { leaf transport-type {
type identityref { type identityref {
base sr-cmn:segment-routing-transport; base sr-cmn:segment-routing-transport;
} }
default "sr-cmn:segment-routing-transport-mpls"; default "sr-cmn:segment-routing-transport-mpls";
description description
"Dataplane to be used."; "Dataplane to be used.";
skipping to change at page 29, line 24 skipping to change at page 29, line 30
Network Configuration Protocol (NETCONF)", RFC 6020, Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010. October 2010.
[RFC7950] Bjorklund, M., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., "The YANG 1.1 Data Modeling Language",
RFC 7950, August 2016. RFC 7950, August 2016.
11.2. Informative References 11.2. Informative References
[I-D.ietf-netmod-yang-tree-diagrams] [I-D.ietf-netmod-yang-tree-diagrams]
Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft-
ietf-netmod-yang-tree-diagrams-04 (work in progress), ietf-netmod-yang-tree-diagrams-06 (work in progress),
December 2017. February 2018.
Authors' Addresses Authors' Addresses
Stephane Litkowski Stephane Litkowski
Orange Business Service Orange Business Service
Email: stephane.litkowski@orange.com Email: stephane.litkowski@orange.com
Yingzhen Qu Yingzhen Qu
Huawei Huawei
skipping to change at page 29, line 43 skipping to change at page 30, line 4
Yingzhen Qu Yingzhen Qu
Huawei Huawei
Email: yingzhen.qu@huawei.com Email: yingzhen.qu@huawei.com
Pushpasis Sarkar Pushpasis Sarkar
Individual Individual
Email: pushpasis.ietf@gmail.com Email: pushpasis.ietf@gmail.com
Jeff Tantsura Jeff Tantsura
Individual Nuage Networks
Email: jefftant.ietf@gmail.com Email: jefftant.ietf@gmail.com
 End of changes. 27 change blocks. 
30 lines changed or deleted 28 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/