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/ |