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/