draft-ietf-mpls-base-yang-12.txt   draft-ietf-mpls-base-yang-13.txt 
MPLS Working Group T. Saad MPLS Working Group T. Saad
Internet-Draft Juniper Networks Internet-Draft Juniper Networks
Intended status: Standards Track K. Raza Intended status: Standards Track K. Raza
Expires: August 22, 2020 R. Gandhi Expires: September 4, 2020 R. Gandhi
Cisco Systems Inc Cisco Systems Inc
X. Liu X. Liu
Volta Networks Volta Networks
V. Beeram V. Beeram
Juniper Networks Juniper Networks
February 19, 2020 March 03, 2020
A YANG Data Model for MPLS Base A YANG Data Model for MPLS Base
draft-ietf-mpls-base-yang-12 draft-ietf-mpls-base-yang-13
Abstract Abstract
This document contains a specification of the MPLS base YANG model. This document contains a specification of the MPLS base YANG model.
The MPLS base YANG model serves as a base framework for configuring The MPLS base YANG model serves as a base framework for configuring
and managing an MPLS switching subsystem on an MPLS-enabled router. and managing an MPLS switching subsystem on an MPLS-enabled router.
It is expected that other MPLS YANG models (e.g. MPLS LSP Static, It is expected that other MPLS YANG models (e.g. MPLS Label Switched
LDP or RSVP-TE YANG models) will augment the MPLS base YANG model. Path (LSP) Static, LDP or RSVP-TE YANG 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 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 August 22, 2020. This Internet-Draft will expire on September 4, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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
skipping to change at page 2, line 23 skipping to change at page 2, line 24
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Acronyms and Abbreviations . . . . . . . . . . . . . . . 3 1.2. Acronyms and Abbreviations . . . . . . . . . . . . . . . 3
2. MPLS Base Model . . . . . . . . . . . . . . . . . . . . . . . 3 2. MPLS Base Model . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Model Overview . . . . . . . . . . . . . . . . . . . . . 3 2.1. Model Overview . . . . . . . . . . . . . . . . . . . . . 3
2.2. Model Organization . . . . . . . . . . . . . . . . . . . 4 2.2. Model Organization . . . . . . . . . . . . . . . . . . . 4
2.3. Model Tree Diagram . . . . . . . . . . . . . . . . . . . 5 2.3. Model Tree Diagram . . . . . . . . . . . . . . . . . . . 5
2.4. Model YANG Module . . . . . . . . . . . . . . . . . . . . 7 2.4. Model YANG Module . . . . . . . . . . . . . . . . . . . . 7
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
4. Security Considerations . . . . . . . . . . . . . . . . . . . 16 4. Security Considerations . . . . . . . . . . . . . . . . . . . 16
5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 16 5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 17
6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.1. Normative References . . . . . . . . . . . . . . . . . . 17 7.1. Normative References . . . . . . . . . . . . . . . . . . 17
7.2. Informative References . . . . . . . . . . . . . . . . . 18 7.2. Informative References . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
A core routing data model is defined in [RFC8349], and it provides a A core routing data model is defined in [RFC8349], 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
skipping to change at page 3, line 39 skipping to change at page 3, line 39
NHLFE: Next Hop Label Forwarding Entry NHLFE: Next Hop Label Forwarding Entry
ILM: Incoming Label Map ILM: Incoming Label Map
2. MPLS Base Model 2. MPLS Base Model
This document describes the ietf-mpls YANG module that provides base This document describes the ietf-mpls YANG module that provides base
components of the MPLS data model. It is expected that other MPLS components of the MPLS data model. It is expected that other MPLS
YANG modules will augment the ietf-mpls base module for other MPLS YANG modules will augment the ietf-mpls base module for other MPLS
extension to provision LSP(s) (e.g. MPLS Static, MPLS LDP or MPLS extension to provision Label Switched Paths (LSPs) (e.g. MPLS
RSVP-TE LSP(s)). Static, MPLS LDP or MPLS RSVP-TE LSP(s)).
2.1. Model Overview 2.1. Model Overview
This document defines a mechanism to model MPLS labeled routes as an This document defines a mechanism to model MPLS labeled routes as an
augmentation of the routing RIB data model defined in [RFC8349] for augmentation of the routing RIB data model defined in [RFC8349] for
IP prefix routes that are MPLS labeled. IP prefix routes that are MPLS labeled.
The other MPLS route(s) that are non-IP prefix routes are modelled by The other MPLS route(s) that are non-IP prefix routes are modelled by
introducing a new "mpls" address-family RIB as per recommendation . introducing a new "mpls" address-family RIB as per recommendation .
skipping to change at page 5, line 47 skipping to change at page 5, line 47
+--rw ttl-propagate? boolean +--rw ttl-propagate? boolean
+--rw label-blocks +--rw label-blocks
| +--rw label-block* [index] | +--rw label-block* [index]
| +--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 free-labels-count? yang:counter32 | +--ro free-labels-count? yang:counter32
| +--ro inuse-labels-count? yang:counter32 | +--ro inuse-labels-count? yang:counter32
+--rw interface* [name] +--rw interface* [name]
+--rw name if:interface-ref +--rw name if:interface-ref
+--rw enabled? boolean +--rw enabled? boolean
+--rw mtu? uint32 +--rw maximum-labeled-packet? uint32
augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route: augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route:
+--ro mpls-enabled? boolean {mpls}? +--ro mpls-enabled? boolean {mpls}?
+--ro local-label? rt-types:mpls-label {mpls}? +--ro local-label? rt-types:mpls-label {mpls}?
augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop
/rt:next-hop-options/rt:simple-next-hop: /rt:next-hop-options/rt:simple-next-hop:
+--ro mpls-label-stack +--ro mpls-label-stack
+--ro entry* [id] +--ro entry* [id]
+--ro id uint8 +--ro id uint8
+--ro label? rt-types:mpls-label +--ro label? rt-types:mpls-label
skipping to change at page 7, line 22 skipping to change at page 7, line 22
o ietf-routing defined in [RFC8349] o ietf-routing defined in [RFC8349]
o ietf-routing-types defined in [RFC8294] o ietf-routing-types defined in [RFC8294]
o ietf-interfaces defined in [RFC8343] o ietf-interfaces defined in [RFC8343]
This model also references the following RFCs in defining the types This model also references the following RFCs in defining the types
and YANG grouping of the YANG module: [RFC3031], and [RFC3032]. and YANG grouping of the YANG module: [RFC3031], and [RFC3032].
<CODE BEGINS> file "ietf-mpls@2020-02-19.yang" <CODE BEGINS> file "ietf-mpls@2020-03-03.yang"
module ietf-mpls { module ietf-mpls {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-mpls"; namespace "urn:ietf:params:xml:ns:yang:ietf-mpls";
/* Replace with IANA when assigned */ /* Replace with IANA when assigned */
prefix "mpls"; prefix "mpls";
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
skipping to change at page 8, line 47 skipping to change at page 8, line 47
(https://trustee.ietf.org/license-info). (https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note. // note.
// RFC Ed.: update the date below with the date of RFC publication // RFC Ed.: update the date below with the date of RFC publication
// and remove this note. // and remove this note.
revision "2020-02-19" { revision "2020-03-03" {
description description
"Latest revision: "Latest revision:
- Addressed review comments"; - Addressed review comments";
reference "RFC XXXX: A YANG Data Model for base MPLS"; reference "RFC XXXX: A YANG Data Model for base MPLS";
} }
feature mpls { feature mpls {
description description
"Indicates support for MPLS switching."; "Indicates support for MPLS switching.";
skipping to change at page 11, line 27 skipping to change at page 11, line 27
other than for referencing the entry."; other than for referencing the entry.";
} }
leaf loadshare { leaf loadshare {
type uint16; type uint16;
description description
"This value is used to compute a loadshare to perform un-equal "This value is used to compute a loadshare to perform un-equal
load balancing when multiple outgoing next-hop(s) are load balancing when multiple outgoing next-hop(s) are
specified. A share is computed as a ratio of this number to the specified. A share is computed as a ratio of this number to the
total under all next-hops(s)."; total under all next-hops(s).";
reference "RFC3031, section 3.11 and 3.12."; reference
"RFC7424, section 5.4,
RFC3031, section 3.11 and 3.12.";
} }
leaf role { leaf role {
type nhlfe-role; type nhlfe-role;
description "NHLFE role"; description "NHLFE role";
} }
uses nhlfe-single-contents; uses nhlfe-single-contents;
} }
grouping interface-mpls-properties { grouping interface-mpls-properties {
description "MPLS interface contents grouping"; description "MPLS interface contents grouping";
leaf enabled { leaf enabled {
type boolean; type boolean;
description description
"'true' if mpls encapsulation is enabled on the "'true' if mpls encapsulation is enabled on the interface.
interface. 'false' if mpls encapsulation is enabled 'false' if mpls encapsulation is disabled on the interface.";
on the interface.";
} }
leaf mtu { leaf maximum-labeled-packet {
type uint32; type uint32;
description units octets;
"MPLS Maximum Transmission Unit (MTU) in bytes"; description "Maximum labeled packet size.";
reference "RFC3032, section 3.2."; reference "RFC3032, section 3.2.";
} }
} }
grouping interfaces-mpls { grouping interfaces-mpls {
description "List of MPLS interfaces"; description "List of MPLS interfaces";
list interface { list interface {
key "name"; key "name";
description "List of MPLS interfaces"; description "List of MPLS interfaces";
leaf name { leaf name {
type if:interface-ref; type if:interface-ref;
 End of changes. 15 change blocks. 
22 lines changed or deleted 23 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/