draft-ietf-mpls-base-yang-05.txt   draft-ietf-mpls-base-yang-06.txt 
MPLS Working Group T. Saad MPLS Working Group T. Saad
Internet-Draft K. Raza Internet-Draft K. Raza
Intended status: Standards Track R. Gandhi Intended status: Standards Track R. Gandhi
Expires: January 3, 2018 Cisco Systems Inc Expires: August 19, 2018 Cisco Systems Inc
X. Liu X. Liu
Jabil Jabil
V. Beeram V. Beeram
Juniper Networks Juniper Networks
H. Shah February 15, 2018
Ciena
I. Bryskin
X. Chen
Huawei Technologies
R. Jones
Brocade
B. Wen
Comcast
July 02, 2017
A YANG Data Model for MPLS Base A YANG Data Model for MPLS Base
draft-ietf-mpls-base-yang-05 draft-ietf-mpls-base-yang-06
Abstract Abstract
This document contains a specification of the the MPLS base YANG This document contains a specification of the the MPLS base YANG
model. The MPLS base YANG module serves as a base framework for model. The MPLS base YANG module serves as a base framework for
configuring and managing an MPLS switching subsystem. It is expected configuring and managing an MPLS switching subsystem. It is expected
that other MPLS technology YANG models (e.g. MPLS LSP Static, LDP or that other MPLS technology YANG models (e.g. MPLS LSP Static, LDP or
RSVP-TE models) will augment the MPLS base YANG model. RSVP-TE models) will augment the MPLS base YANG model.
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 January 3, 2018. This Internet-Draft will expire on August 19, 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
(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 . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1. Keywords . . . . . . . . . . . . . . . . . . . . . . 3 1.1.1. Keywords . . . . . . . . . . . . . . . . . . . . . . 3
1.2. MPLS Base Tree Diagram . . . . . . . . . . . . . . . . . 3 1.2. MPLS Base Tree Diagram . . . . . . . . . . . . . . . . . 3
1.3. MPLS Base Module . . . . . . . . . . . . . . . . . . . . 5 1.3. MPLS Base Module . . . . . . . . . . . . . . . . . . . . 5
2. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 2. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
3. Security Considerations . . . . . . . . . . . . . . . . . . . 13 3. Security Considerations . . . . . . . . . . . . . . . . . . . 13
4. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 4. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 14
4.1. Normative References . . . . . . . . . . . . . . . . . . 14 5. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2. Informative References . . . . . . . . . . . . . . . . . 15 6. Normative References . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
A core routing data model is defined in [RFC8022], and it provides a A core routing data model is defined in [RFC8022], and it provides a
basis for the development of data models for routing protocols. The basis for the development of data models for routing protocols. The
MPLS base model augments this model with additional data specific to MPLS base model augments this model with additional data specific to
MPLS switching [RFC3031]. The interface data model is defined in MPLS switching [RFC3031]. The interface data model is defined in
[RFC7223] and is used for referencing interface from the MPLS base [RFC7223] and is used for referencing interface from the MPLS base
model. model.
The MPLS base YANG module augments the "routing" read-write (rw) and The MPLS base YANG module augments the "routing" read-write (rw) and
"routing-state" read-only (ro) branches of the ietf-routing module "routing-state" read-only (ro) branches of the ietf-routing module
defined in [RFC8022]. The approach described in defined in [RFC8022].
[I-D.openconfig-netmod-opstate] is adopted to represent data
pertaining to configuration intended, applied state and derived state
data elements. Each container in the model holds a "config" and
"state" sub-container. The "config" sub-container contains the
intended configuration data, and the state sub-container contains
both the applied configuration and any derived state, such as
counters or statistical information.
This document defines the specification for the "ietf-mpls" YANG This document defines the specification for the "ietf-mpls" YANG
module that provides base components of the MPLS data model. It is module that provides base components of the MPLS data model. It is
expected that other MPLS YANG modules will augment the "ietf-mpls" expected that other MPLS YANG modules will augment the "ietf-mpls"
base model to define data models for other MPLS technologies (e.g. base model to define data models for other MPLS technologies (e.g.
MPLS LDP or MPLS RSVP-TE). MPLS LDP or MPLS RSVP-TE).
This document also defines a way to model MPLS labelled routes as an This document also defines a way to model MPLS labelled routes as an
augmentation of the the routing RIB model defined in [RFC8022] for IP augmentation of the the routing RIB model defined in [RFC8022] for IP
prefix routes that are MPLS labelled. Other MPLS non-IP prefix prefix routes that are MPLS labelled. Other MPLS non-IP prefix
skipping to change at page 3, line 52 skipping to change at page 3, line 40
o schema tree, o schema tree,
o state data, o state data,
o RPC operation. o RPC operation.
1.2. MPLS Base Tree Diagram 1.2. MPLS Base Tree Diagram
The MPLS base tree diagram is shown in Figure 1. The MPLS base tree diagram is shown in Figure 1.
module: ietf-mpls module: ietf-mpls
augment /rt:routing: augment /rt:routing:
+--rw mpls +--rw mpls
+--rw config +--rw config
| +--rw ttl-propagate? boolean | +--rw ttl-propagate? boolean
+--ro state +--ro state
| +--ro ttl-propagate? boolean | +--ro ttl-propagate? boolean
+--rw label-blocks +--rw label-blocks
| +--rw label-block* [index] | +--rw label-block* [index]
| +--rw index -> ../config/index | +--rw index -> ../config/index
| +--rw start-label? -> ../config/start-label | +--rw start-label? -> ../config/start-label
| +--rw end-label? -> ../config/end-label | +--rw end-label? -> ../config/end-label
| +--rw config | +--rw config
| | +--rw index? string | | +--rw index? string
| | +--rw start-label? rt-types:mpls-label | | +--rw start-label? rt-types:mpls-label
| | +--rw end-label? rt-types:mpls-label | | +--rw end-label? rt-types:mpls-label
| | +--rw block-allocation-mode? identityref | | +--rw block-allocation-mode? identityref
| +--ro state | +--ro state
| +--ro index? string | +--ro index? string
| +--ro start-label? rt-types:mpls-label | +--ro start-label? rt-types:mpls-label
| +--ro end-label? rt-types:mpls-label | +--ro end-label? rt-types:mpls-label
| +--ro block-allocation-mode? identityref | +--ro block-allocation-mode? identityref
| +--ro free-labels-count? uint32 | +--ro free-labels-count? uint32
| +--ro inuse-labels-count? uint32 | +--ro inuse-labels-count? uint32
+--rw interface* [name] +--rw interface* [name]
+--rw name if:interface-ref +--rw name if:interface-ref
+--rw config +--rw config
| +--rw enabled? boolean | +--rw enabled? boolean
| +--rw mtu? uint32 | +--rw mtu? uint32
+--ro state +--ro state
+--ro enabled? boolean +--ro enabled? boolean
+--ro mtu? uint32 +--ro mtu? uint32
augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route: augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route:
+--ro local-label? rt-types:mpls-label +--ro local-label? rt-types:mpls-label
augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/ augment
rt:next-hop/rt:next-hop-options/rt:simple-next-hop: /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/
+--ro remote-labels* [index] rt:next-hop-options/rt:simple-next-hop:
+--ro index uint8 +--ro remote-labels* [index]
+--ro label? rt-types:mpls-label +--ro index uint8
augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/ +--ro label? rt-types:mpls-label
rt:next-hop/rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/ augment
rt:next-hop: /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/
+--ro index? string rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/rt:next-hop:
+--ro backup-index? string +--ro index? string
+--ro loadshare? uint16 +--ro backup-index? string
+--ro role? nhlfe-role +--ro loadshare? uint16
+--ro remote-labels* [index] +--ro role? nhlfe-role
+--ro index uint8 +--ro remote-labels* [index]
+--ro label? rt-types:mpls-label +--ro index uint8
+--ro label? rt-types:mpls-label
augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:input: augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:input:
+---- index? string +---- index? string
+---- backup-index? string +---- backup-index? string
+---- loadshare? uint16 +---- loadshare? uint16
+---- role? nhlfe-role +---- role? nhlfe-role
+---- remote-labels* [index] +---- remote-labels* [index]
+---- index uint8 +---- index uint8
+---- label? rt-types:mpls-label +---- label? rt-types:mpls-label
augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:output/ augment
rt:route: /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route:
+---- index? string +---- index? string
+---- backup-index? string +---- backup-index? string
+---- loadshare? uint16 +---- loadshare? uint16
+---- role? nhlfe-role +---- role? nhlfe-role
+---- remote-labels* [index] +---- remote-labels* [index]
+---- index uint8 +---- index uint8
+---- label? rt-types:mpls-label +---- label? rt-types:mpls-label
Figure 1: MPLS Base tree diagram Figure 1: MPLS Base tree diagram
1.3. MPLS Base Module 1.3. MPLS Base Module
<CODE BEGINS> file "ietf-mpls@2017-07-02.yang" <CODE BEGINS> file "ietf-mpls@2017-07-02.yang"
module ietf-mpls { module ietf-mpls {
namespace "urn:ietf:params:xml:ns:yang:ietf-mpls"; namespace "urn:ietf:params:xml:ns:yang:ietf-mpls";
skipping to change at page 14, line 12 skipping to change at page 14, line 5
users to a pre-configured subset of all available NETCONF protocol users to a pre-configured subset of all available NETCONF protocol
operations and content. operations and content.
There are a number of data nodes defined in the YANG module which are There are a number of data nodes defined in the YANG module which are
writable/creatable/deletable (i.e., config true, which is the writable/creatable/deletable (i.e., config true, which is the
default). These data nodes may be considered sensitive or vulnerable default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., <edit-config>) in some network environments. Write operations (e.g., <edit-config>)
to these data nodes without proper protection can have a negative to these data nodes without proper protection can have a negative
effect on network operations. effect on network operations.
4. References 4. Acknowledgement
4.1. Normative References The authors would like to thank the members of the multi-vendor YANG
design team who are involved in the definition of this model.
5. Contributors
Igor Bryskin
Huawei Technologies
email: Igor.Bryskin@huawei.com
Himanshu Shah
Ciena
email: hshah@ciena.com
6. Normative References
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
Label Switching Architecture", RFC 3031, DOI 10.17487/ Label Switching Architecture", RFC 3031,
RFC3031, January 2001, DOI 10.17487/RFC3031, January 2001,
<http://www.rfc-editor.org/info/rfc3031>. <https://www.rfc-editor.org/info/rfc3031>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, DOI 10.17487/RFC3688, January 2004,
<http://www.rfc-editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, DOI 10.17487/RFC6020, October 2010,
<http://www.rfc-editor.org/info/rfc6020>. <https://www.rfc-editor.org/info/rfc6020>.
[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,
<http://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<http://www.rfc-editor.org/info/rfc6242>. <https://www.rfc-editor.org/info/rfc6242>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, DOI Protocol (NETCONF) Access Control Model", RFC 6536,
10.17487/RFC6536, March 2012, DOI 10.17487/RFC6536, March 2012,
<http://www.rfc-editor.org/info/rfc6536>. <https://www.rfc-editor.org/info/rfc6536>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface [RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<http://www.rfc-editor.org/info/rfc7223>. <https://www.rfc-editor.org/info/rfc7223>.
[RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing [RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing
Management", RFC 8022, DOI 10.17487/RFC8022, November Management", RFC 8022, DOI 10.17487/RFC8022, November
2016, <http://www.rfc-editor.org/info/rfc8022>. 2016, <https://www.rfc-editor.org/info/rfc8022>.
4.2. Informative References
[I-D.openconfig-netmod-opstate]
Shakir, R., Shaikh, A., and M. Hines, "Consistent Modeling
of Operational State Data in YANG", draft-openconfig-
netmod-opstate-01 (work in progress), July 2015.
Authors' Addresses Authors' Addresses
Tarek Saad Tarek Saad
Cisco Systems Inc Cisco Systems Inc
Email: tsaad@cisco.com Email: tsaad@cisco.com
Kamran Raza Kamran Raza
Cisco Systems Inc Cisco Systems Inc
skipping to change at page 15, line 38 skipping to change at line 697
Xufeng Liu Xufeng Liu
Jabil Jabil
Email: Xufeng_Liu@jabil.com Email: Xufeng_Liu@jabil.com
Vishnu Pavan Beeram Vishnu Pavan Beeram
Juniper Networks Juniper Networks
Email: vbeeram@juniper.net Email: vbeeram@juniper.net
Himanshu Shah
Ciena
Email: tsaad@cisco.com
Igor Bryskin
Huawei Technologies
Email: Igor.Bryskin@huawei.com
Xia Chen
Huawei Technologies
Email: jescia.chenxia@huawei.com
Raqib Jones
Brocade
Email: raqib@Brocade.com
Bin Wen
Comcast
Email: Bin_Wen@cable.comcast.com
 End of changes. 21 change blocks. 
115 lines changed or deleted 105 lines changed or added

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