draft-ietf-mpls-base-yang-04.txt | draft-ietf-mpls-base-yang-05.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: September 13, 2017 Cisco Systems Inc | Expires: January 3, 2018 Cisco Systems Inc | |||
X. Liu | X. Liu | |||
Jabil | Jabil | |||
V. Beeram | V. Beeram | |||
Juniper Networks | Juniper Networks | |||
H. Shah | H. Shah | |||
Ciena | Ciena | |||
I. Bryskin | I. Bryskin | |||
X. Chen | X. Chen | |||
Huawei Technologies | Huawei Technologies | |||
R. Jones | R. Jones | |||
Brocade | Brocade | |||
B. Wen | B. Wen | |||
Comcast | Comcast | |||
March 12, 2017 | July 02, 2017 | |||
A YANG Data Model for MPLS Base | A YANG Data Model for MPLS Base | |||
draft-ietf-mpls-base-yang-04 | draft-ietf-mpls-base-yang-05 | |||
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 | |||
skipping to change at page 1, line 48 ¶ | skipping to change at page 1, line 48 ¶ | |||
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 http://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 September 13, 2017. | This Internet-Draft will expire on January 3, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 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 | (http://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 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
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 . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
4.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 4.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
4.2. Informative References . . . . . . . . . . . . . . . . . 14 | 4.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | 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. | |||
skipping to change at page 3, line 52 ¶ | skipping to change at page 3, line 52 ¶ | |||
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 ttl-propagate? boolean | ||||
+--ro state | ||||
| +--ro ttl-propagate? boolean | ||||
+--rw label-blocks | ||||
| +--rw label-block* [index] | ||||
| +--rw index -> ../config/index | ||||
| +--rw start-label? -> ../config/start-label | ||||
| +--rw end-label? -> ../config/end-label | ||||
| +--rw config | ||||
| | +--rw index? string | ||||
| | +--rw start-label? rt-types:mpls-label | ||||
| | +--rw end-label? rt-types:mpls-label | ||||
| | +--rw block-allocation-mode? identityref | ||||
| +--ro state | ||||
| +--ro index? string | ||||
| +--ro start-label? rt-types:mpls-label | ||||
| +--ro end-label? rt-types:mpls-label | ||||
| +--ro block-allocation-mode? identityref | ||||
| +--ro free-labels-count? uint32 | ||||
| +--ro inuse-labels-count? uint32 | ||||
+--rw interface* [name] | ||||
+--rw name if:interface-ref | ||||
+--rw config | +--rw config | |||
| +--rw enabled? boolean | | +--rw ttl-propagate? boolean | |||
| +--rw mtu? uint32 | ||||
+--ro state | +--ro state | |||
+--ro enabled? boolean | | +--ro ttl-propagate? boolean | |||
+--ro mtu? uint32 | +--rw label-blocks | |||
augment | | +--rw label-block* [index] | |||
/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route: | | +--rw index -> ../config/index | |||
+--ro local-label? rt-types:mpls-label | | +--rw start-label? -> ../config/start-label | |||
augment | | +--rw end-label? -> ../config/end-label | |||
/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/ | | +--rw config | |||
rt:next-hop-options/rt:simple-next-hop: | | | +--rw index? string | |||
+--ro remote-labels* rt-types:mpls-label | | | +--rw start-label? rt-types:mpls-label | |||
augment | | | +--rw end-label? rt-types:mpls-label | |||
/rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop/ | | | +--rw block-allocation-mode? identityref | |||
rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/rt:next-hop: | | +--ro state | |||
+--ro index? string | | +--ro index? string | |||
+--ro backup-index? string | | +--ro start-label? rt-types:mpls-label | |||
+--ro loadshare? uint16 | | +--ro end-label? rt-types:mpls-label | |||
+--ro role? nhlfe-role | | +--ro block-allocation-mode? identityref | |||
+--ro remote-labels* rt-types:mpls-label | | +--ro free-labels-count? uint32 | |||
augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:input: | | +--ro inuse-labels-count? uint32 | |||
+---- index? string | +--rw interface* [name] | |||
+---- backup-index? string | +--rw name if:interface-ref | |||
+---- loadshare? uint16 | +--rw config | |||
+---- role? nhlfe-role | | +--rw enabled? boolean | |||
+---- remote-labels* rt-types:mpls-label | | +--rw mtu? uint32 | |||
augment | +--ro state | |||
/rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route: | +--ro enabled? boolean | |||
+---- index? string | +--ro mtu? uint32 | |||
+---- backup-index? string | augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route: | |||
+---- loadshare? uint16 | +--ro local-label? rt-types:mpls-label | |||
+---- role? nhlfe-role | augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/ | |||
+---- remote-labels* rt-types:mpls-label | rt:next-hop/rt:next-hop-options/rt:simple-next-hop: | |||
+--ro remote-labels* [index] | ||||
+--ro index uint8 | ||||
+--ro label? rt-types:mpls-label | ||||
augment /rt:routing-state/rt:ribs/rt:rib/rt:routes/rt:route/ | ||||
rt:next-hop/rt:next-hop-options/rt:next-hop-list/rt:next-hop-list/ | ||||
rt:next-hop: | ||||
+--ro index? string | ||||
+--ro backup-index? string | ||||
+--ro loadshare? uint16 | ||||
+--ro role? nhlfe-role | ||||
+--ro remote-labels* [index] | ||||
+--ro index uint8 | ||||
+--ro label? rt-types:mpls-label | ||||
augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:input: | ||||
+---- index? string | ||||
+---- backup-index? string | ||||
+---- loadshare? uint16 | ||||
+---- role? nhlfe-role | ||||
+---- remote-labels* [index] | ||||
+---- index uint8 | ||||
+---- label? rt-types:mpls-label | ||||
augment /rt:routing-state/rt:ribs/rt:rib/rt:active-route/rt:output/ | ||||
rt:route: | ||||
+---- index? string | ||||
+---- backup-index? string | ||||
+---- loadshare? uint16 | ||||
+---- role? nhlfe-role | ||||
+---- remote-labels* [index] | ||||
+---- index uint8 | ||||
+---- 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-03-11.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"; | |||
prefix "mpls"; | prefix "mpls"; | |||
import ietf-routing { | import ietf-routing { | |||
prefix "rt"; | prefix "rt"; | |||
} | } | |||
skipping to change at page 6, line 43 ¶ | skipping to change at page 6, line 47 ¶ | |||
Editor: Raqib Jones | Editor: Raqib Jones | |||
<mailto:raqib@Brocade.com> | <mailto:raqib@Brocade.com> | |||
Editor: Bin Wen | Editor: Bin Wen | |||
<mailto:Bin_Wen@cable.comcast.com>"; | <mailto:Bin_Wen@cable.comcast.com>"; | |||
description | description | |||
"This YANG module defines the essential components for the | "This YANG module defines the essential components for the | |||
management of the MPLS subsystem."; | management of the MPLS subsystem."; | |||
revision "2017-03-11" { | revision "2017-07-02" { | |||
description | description | |||
"Latest revision: | "Latest revision: | |||
- Addressed MPLS-RT review comments"; | - Addressed MPLS-RT review comments"; | |||
reference "RFC 3031: A YANG Data Model for base MPLS"; | reference "RFC 3031: A YANG Data Model for base MPLS"; | |||
} | } | |||
/* Identities */ | /* Identities */ | |||
identity mpls { | identity mpls { | |||
base rt:address-family; | base rt:address-family; | |||
description | description | |||
"This identity represents the MPLS address family."; | "This identity represents the MPLS address family."; | |||
} | } | |||
identity label-block-alloc-mode { | identity label-block-alloc-mode { | |||
description | description | |||
"Base identity label-block allocation mode"; | "Base identity label-block allocation mode"; | |||
} | } | |||
skipping to change at page 7, line 50 ¶ | skipping to change at page 8, line 6 ¶ | |||
description | description | |||
"Next-hop acts as primary and backup simultaneously"; | "Next-hop acts as primary and backup simultaneously"; | |||
} | } | |||
} | } | |||
description "The next-hop role"; | description "The next-hop role"; | |||
} | } | |||
grouping nhlfe-simple-contents { | grouping nhlfe-simple-contents { | |||
description | description | |||
"MPLS simple NHLFE contents"; | "MPLS simple NHLFE contents"; | |||
leaf-list remote-labels { | list remote-labels { | |||
type rt-types:mpls-label; | key "index"; | |||
description "The MPLS label stack"; | description "Remote label list"; | |||
leaf index { | ||||
type uint8 { | ||||
range "0..255"; | ||||
} | ||||
description | ||||
"Index of the label. Index 0 indicates | ||||
top of the label stack"; | ||||
} | ||||
leaf label { | ||||
type rt-types:mpls-label; | ||||
description | ||||
"The outgoing MPLS labels to impose"; | ||||
} | ||||
} | } | |||
} | } | |||
grouping nhlfe-contents { | grouping nhlfe-contents { | |||
description | description | |||
"MPLS NHLFE contents"; | "MPLS NHLFE contents"; | |||
leaf index { | leaf index { | |||
type string; | type string; | |||
description | description | |||
"A user-specified identifier utilised to uniquely | "A user-specified identifier utilised to uniquely | |||
End of changes. 13 change blocks. | ||||
71 lines changed or deleted | 93 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |