draft-ietf-i2rs-yang-l3-topology-04.txt   draft-ietf-i2rs-yang-l3-topology-05.txt 
Network Working Group A. Clemm Network Working Group A. Clemm
Internet-Draft J. Medved Internet-Draft Sympotech
Intended status: Standards Track Cisco Intended status: Standards Track J. Medved
Expires: March 23, 2017 R. Varga Expires: May 20, 2017 Cisco
R. Varga
Pantheon Technologies SRO Pantheon Technologies SRO
T. Tkacik
X. Liu X. Liu
Ericsson Ericsson
I. Bryskin I. Bryskin
Huawei Huawei
A. Guo A. Guo
Adva Optical Adva Optical
H. Ananthakrishnan H. Ananthakrishnan
Packet Design Packet Design
N. Bahadur N. Bahadur
Bracket Computing Bracket Computing
V. Beeram V. Beeram
Juniper Networks Juniper Networks
September 19, 2016 November 16, 2016
A YANG Data Model for Layer 3 Topologies A YANG Data Model for Layer 3 Topologies
draft-ietf-i2rs-yang-l3-topology-04.txt draft-ietf-i2rs-yang-l3-topology-05.txt
Abstract Abstract
This document defines a YANG data model for layer 3 network This document defines a YANG data model for layer 3 network
topologies. topologies.
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.
skipping to change at page 1, line 47 skipping to change at page 1, line 46
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 March 23, 2017. This Internet-Draft will expire on May 20, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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 36 skipping to change at page 2, line 36
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other it for publication as an RFC or to translate it into languages other
than English. than English.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Definitions and Acronyms . . . . . . . . . . . . . . . . . . 4 2. Definitions and Acronyms . . . . . . . . . . . . . . . . . . 4
3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 4 3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 5
4. Layer 3 Unicast Topology Model Overview . . . . . . . . . . . 5 4. Layer 3 Unicast Topology Model Overview . . . . . . . . . . . 5
5. Layer 3 Unicast Topology YANG Module . . . . . . . . . . . . 7 5. Layer 3 Unicast Topology YANG Module . . . . . . . . . . . . 7
6. Extending the Model . . . . . . . . . . . . . . . . . . . . . 14 6. Extending the Model . . . . . . . . . . . . . . . . . . . . . 14
6.1. Example 1: OSPF Topology . . . . . . . . . . . . . . . . 14 6.1. Example 1: OSPF Topology . . . . . . . . . . . . . . . . 14
6.1.1. Model Overview . . . . . . . . . . . . . . . . . . . 15 6.1.1. Model Overview . . . . . . . . . . . . . . . . . . . 14
6.1.2. OSPF Topology YANG Module . . . . . . . . . . . . . . 17 6.1.2. OSPF Topology YANG Module . . . . . . . . . . . . . . 16
6.2. Example 2: IS-IS Topology . . . . . . . . . . . . . . . . 22 6.2. Example 2: IS-IS Topology . . . . . . . . . . . . . . . . 21
6.2.1. Model Overview . . . . . . . . . . . . . . . . . . . 22 6.2.1. Model Overview . . . . . . . . . . . . . . . . . . . 21
6.2.2. IS-IS Topology YANG Module . . . . . . . . . . . . . 23 6.2.2. IS-IS Topology YANG Module . . . . . . . . . . . . . 23
7. Security Considerations . . . . . . . . . . . . . . . . . . . 28 7. Interactions with Other YANG Modules . . . . . . . . . . . . 28
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 28 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 9. Security Considerations . . . . . . . . . . . . . . . . . . . 29
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 29
10.1. Normative References . . . . . . . . . . . . . . . . . . 29 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30
10.2. Informative References . . . . . . . . . . . . . . . . . 29 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 12.1. Normative References . . . . . . . . . . . . . . . . . . 30
12.2. Informative References . . . . . . . . . . . . . . . . . 31
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction 1. Introduction
This document introduces a YANG [RFC7950] [RFC6991] data model for This document introduces a YANG [RFC7950] [RFC6991] data model for
Layer 3 network topologies, specifically Layer 3 Unicast. The model Layer 3 network topologies, specifically Layer 3 Unicast. The model
allows an application to have a holistic view of the topology of a allows an application to have a holistic view of the topology of a
Layer 3 network, all contained in a single conceptual YANG datastore. Layer 3 network, all contained in a single conceptual YANG datastore.
The data model builds on top of, and augments, the data model for The data model builds on top of, and augments, the data model for
network topologies defined in network topologies defined in
[I-D.draft-ietf-i2rs-yang-network-topo]. An earlier revision of that [I-D.draft-ietf-i2rs-yang-network-topo]. An earlier revision of that
Internet Draft contained not just the general model for network Internet Draft contained not just the general model for network
topologies, but also the model for layer 3 network topologies that is topologies, but also the model for layer 3 network topologies that is
being specified here. However, we decided to "split" the earlier being specified here. However, we decided to "split" the earlier
draft to separate the truly general aspects of a topology data model, draft to separate the truly general aspects of a topology data model,
which apply to any type of topology, from the application of this which apply to any type of topology, from the application of this
model to a particular domain, here: a Layer 3 network. model to a particular domain, here: a Layer 3 network.
The document also shows how the model can be further refined to cover The document also shows how the model can be further refined to cover
different Layer 3 Unicast topology types. For this purpose, example different Layer 3 Unicast topology types. For this purpose, example
models are introduced that cover IS-IS [RFC1195] and OSPF [RFC2178]. models are introduced that cover IS-IS [RFC1195] and OSPF [RFC2328].
Those examples are intended purely for illustrative purposes; we Those examples are intended purely for illustrative purposes; we
expect that full-blown IS-IS and OSPF models will be more expect that full-blown IS-IS and OSPF models will be more
comprehensive and refined than the examples shown here. comprehensive and refined than the examples shown here.
There are multiple applications for a topology data model. A number There are multiple applications for a topology data model. A number
of use cases have been defined in section 6 of of use cases have been defined in section 6 of
[I-D.draft-ietf-i2rs-usecase-reqs-summary]. For example, nodes [I-D.draft-ietf-i2rs-usecase-reqs-summary]. For example, nodes
within the network can use the data model to capture their within the network can use the data model to capture their
understanding of the overall network topology and expose it to a understanding of the overall network topology and expose it to a
network controller. A network controller can then use the network controller. A network controller can then use the
skipping to change at page 7, line 27 skipping to change at page 7, line 27
type of event, the topology from which it originated, and the type of event, the topology from which it originated, and the
affected node, or link, or prefix, or termination point. In affected node, or link, or prefix, or termination point. In
addition, as a convenience to applications, additional data of the addition, as a convenience to applications, additional data of the
affected node, or link, or termination point (respectively) is affected node, or link, or termination point (respectively) is
included. While this makes notifications larger in volume than they included. While this makes notifications larger in volume than they
would need to be, it avoids the need for subsequent retrieval of would need to be, it avoids the need for subsequent retrieval of
context information, which also might have changed in the meantime. context information, which also might have changed in the meantime.
5. Layer 3 Unicast Topology YANG Module 5. Layer 3 Unicast Topology YANG Module
<CODE BEGINS> file "ietf-l3-unicast-topology@2016-09-19.yang" <CODE BEGINS> file "ietf-l3-unicast-topology@2016-11-16.yang"
module ietf-l3-unicast-topology { module ietf-l3-unicast-topology {
yang-version 1.1; yang-version 1.1;
namespace namespace
"urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology"; "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology";
prefix "l3t"; prefix "l3t";
import ietf-network { import ietf-network {
prefix "nd"; prefix "nd";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "lnk"; prefix "lnk";
skipping to change at page 8, line 4 skipping to change at page 8, line 4
organization organization
"IETF I2RS (Interface to the Routing System) Working Group"; "IETF I2RS (Interface to the Routing System) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/i2rs/> "WG Web: <http://tools.ietf.org/wg/i2rs/>
WG List: <mailto:i2rs@ietf.org> WG List: <mailto:i2rs@ietf.org>
WG Chair: Susan Hares WG Chair: Susan Hares
<mailto:shares@ndzh.com> <mailto:shares@ndzh.com>
WG Chair: Russ White WG Chair: Russ White
<mailto:russ@riw.us> <mailto:russ@riw.us>
Editor: Alexander Clemm Editor: Alexander Clemm
<mailto:ludwig@clemm.org> <mailto:alex@sympotech.com>
Editor: Jan Medved Editor: Jan Medved
<mailto:jmedved@cisco.com> <mailto:jmedved@cisco.com>
Editor: Robert Varga Editor: Robert Varga
<mailto:rovarga@cisco.com> <mailto:robert.varga@pantheon.sk>
Editor: Tony Tkacik
<mailto:tony.tkacik@gmail.com>
Editor: Xufeng Liu Editor: Xufeng Liu
<mailto:xliu@kuatrotech.com> <mailto:xliu@kuatrotech.com>
Editor: Igor Bryskin Editor: Igor Bryskin
<mailto:Igor.Bryskin@huawei.com> <mailto:Igor.Bryskin@huawei.com>
Editor: Aihua Guo Editor: Aihua Guo
<mailto:aguo@advaoptical.com> <mailto:aguo@advaoptical.com>
Editor: Nitin Bahadur Editor: Nitin Bahadur
<mailto:nitin_bahadur@yahoo.com> <mailto:nitin_bahadur@yahoo.com>
Editor: Hariharan Ananthakrishnan Editor: Hariharan Ananthakrishnan
<mailto:hari@packetdesign.com> <mailto:hari@packetdesign.com>
skipping to change at page 8, line 35 skipping to change at page 8, line 33
topologies. topologies.
Copyright (c) 2016 IETF Trust and the persons identified as Copyright (c) 2016 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of This version of this YANG module is part of
draft-ietf-i2rs-yang-network-topo-04; draft-ietf-i2rs-yang-l3-topology-05;
see the RFC itself for full legal notices. see the RFC itself for full legal notices.
NOTE TO RFC EDITOR: Please replace above reference to NOTE TO RFC EDITOR: Please replace above reference to
draft-ietf-i2rs-yang-network-topo-04 with RFC draft-ietf-i2rs-yang-l3-topology-05 with RFC
number when published (i.e. RFC xxxx)."; number when published (i.e. RFC xxxx).";
revision "2016-09-19" { revision "2016-11-16" {
description description
"Initial revision. "Initial revision.
NOTE TO RFC EDITOR: Please replace the following reference NOTE TO RFC EDITOR: Please replace the following reference
to draft-ietf-i2rs-yang-l3-topology-04 with to draft-ietf-i2rs-yang-l3-topology-05 with
RFC number when published (i.e. RFC xxxx)."; RFC number when published (i.e. RFC xxxx).";
reference reference
"draft-ietf-i2rs-yang-l3-topology-04"; "draft-ietf-i2rs-yang-l3-topology-05";
} }
identity flag-identity { identity flag-identity {
description "Base type for flags"; description "Base type for flags";
} }
typedef l3-event-type { typedef l3-event-type {
type enumeration { type enumeration {
enum "add" { enum "add" {
description description
"An Layer 3 node or link or prefix or termination-point has "An Layer 3 node or link or prefix or termination-point has
been added"; been added";
} }
enum "remove" { enum "remove" {
description description
"An Layer 3 node or link or prefix or termination-point has "An Layer 3 node or link or prefix or termination-point has
skipping to change at page 15, line 4 skipping to change at page 14, line 46
The model can be extended for specific Layer 3 Unicast types. The model can be extended for specific Layer 3 Unicast types.
Examples include OSPF and IS-IS topologies. In the following, two Examples include OSPF and IS-IS topologies. In the following, two
additional YANG modules are introduced that define simple topology additional YANG modules are introduced that define simple topology
models for OSPF and IS-IS, respectively. These modules intended to models for OSPF and IS-IS, respectively. These modules intended to
serve as examples that illustrate how the general topology model can serve as examples that illustrate how the general topology model can
be refined across multiple levels; they do not constitute full- be refined across multiple levels; they do not constitute full-
fledged OSPF and IS-IS topology models which may be more fledged OSPF and IS-IS topology models which may be more
comprehensive and refined than the models that are described here. comprehensive and refined than the models that are described here.
6.1. Example 1: OSPF Topology 6.1. Example 1: OSPF Topology
6.1.1. Model Overview 6.1.1. Model Overview
The following model shows how the Layer 3 Unicast topology model can The following model shows how the Layer 3 Unicast topology model can
be extended to cover OSFP topologies. For this purpose, a set of be extended to cover OSFP topologies. For this purpose, a set of
augmentations are introduced in a separate YANG module, "ietf-ospf- augmentations are introduced in a separate YANG module, "ietf-ospf-
topology", whose structure is depicted in the following diagram. topology", whose structure is depicted in the following diagram.
Like before, brackets enclose list keys, "rw" means configuration, Like before, brackets enclose list keys, "rw" means configuration,
"ro" operational state data, "?" designates optional nodes, "*" "ro" operational state data, "?" designates optional nodes, "*"
designates nodes that can have multiple instances. Parantheses designates nodes that can have multiple instances. Parantheses
enclose choice and case nodes. A "+" at the end of a line indicates enclose choice and case nodes. A "+" at the end of a line indicates
a line break. a line break.
module: ietf-ospf-topology module: ietf-ospf-topology
augment /nd:networks/nd:network/nd:network-types/l3t:l3-unicast-topology: augment /nd:networks/nd:network/nd:network-types/+
+--rw ospf! l3t:l3-unicast-topology:
augment /nd:networks/nd:network/l3t:l3-topology-attributes: +--rw ospf!
+--rw ospf-topology-attributes augment /nd:networks/nd:network/l3t:l3-topology-attributes:
+--rw area-id? area-id-type +--rw ospf-topology-attributes
augment /nd:networks/nd:network/nd:node/l3t:l3-node-attributes: +--rw area-id? area-id-type
+--rw ospf-node-attributes augment /nd:networks/nd:network/nd:node/l3t:l3-node-attributes:
+--rw (router-type)? +--rw ospf-node-attributes
| +--:(abr) +--rw (router-type)?
| | +--rw abr? empty | +--:(abr)
| +--:(asbr) | | +--rw abr? empty
| | +--rw asbr? empty | +--:(asbr)
| +--:(internal) | | +--rw asbr? empty
| | +--rw internal? empty | +--:(internal)
| +--:(pseudonode) | | +--rw internal? empty
| +--rw pseudonode? empty | +--:(pseudonode)
+--rw dr-interface-id? uint32 | +--rw pseudonode? empty
+--rw multi-topology-id* uint8 +--rw dr-interface-id? uint32
augment /nd:networks/nd:network/lnk:link/l3t:l3-link-attributes: +--rw multi-topology-id* uint8
+--rw ospf-link-attributes augment /nd:networks/nd:network/lnk:link/l3t:l3-link-attributes:
+--rw multi-topology-id? uint8 +--rw ospf-link-attributes
augment /l3t:l3-node-event: +--rw multi-topology-id? uint8
+---- ospf! augment /l3t:l3-node-event:
+---- ospf-node-attributes +---- ospf!
+---- (router-type)? +---- ospf-node-attributes
| +--:(abr) +---- (router-type)?
| | +---- abr? empty | +--:(abr)
| +--:(asbr) | | +---- abr? empty
| | +---- asbr? empty | +--:(asbr)
| +--:(internal) | | +---- asbr? empty
| | +---- internal? empty | +--:(internal)
| +--:(pseudonode) | | +---- internal? empty
| +---- pseudonode? empty | +--:(pseudonode)
+---- dr-interface-id? uint32 | +---- pseudonode? empty
+---- multi-topology-id* uint8 +---- dr-interface-id? uint32
augment /l3t:l3-link-event: +---- multi-topology-id* uint8
+---- ospf! augment /l3t:l3-link-event:
+---- ospf-link-attributes +---- ospf!
+---- multi-topology-id? uint8 +---- ospf-link-attributes
+---- multi-topology-id? uint8
The module augments "ietf-l3-unicast-topology" as follows: The module augments "ietf-l3-unicast-topology" as follows:
o A new topology type for an OSPF topology is introduced. o A new topology type for an OSPF topology is introduced.
o Additional topology attributes are defined in a new grouping which o Additional topology attributes are defined in a new grouping which
augments l3-topology-attributes of the ietf-l3-unicast-topology augments l3-topology-attributes of the ietf-l3-unicast-topology
module. The attributes include an OSPF area-id identifying the module. The attributes include an OSPF area-id identifying the
OSPF area. OSPF area.
skipping to change at page 17, line 28 skipping to change at page 16, line 35
In addition, the module extends notifications for events concerning In addition, the module extends notifications for events concerning
Layer 3 nodes, links, termination points, and prefixes with OSPF Layer 3 nodes, links, termination points, and prefixes with OSPF
attributes. attributes.
It should be noted that the model defined here represents topology It should be noted that the model defined here represents topology
and is intended as an example. It does not define how to configure and is intended as an example. It does not define how to configure
OSPF routers or interfaces. OSPF routers or interfaces.
6.1.2. OSPF Topology YANG Module 6.1.2. OSPF Topology YANG Module
<CODE BEGINS> file "ietf-ospf-topology@2016-09-19.yang" <CODE BEGINS> file "ietf-ospf-topology@2016-11-16.yang"
module ietf-ospf-topology { module ietf-ospf-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-topology";
prefix "ospft"; prefix "ospft";
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
} }
import ietf-network { import ietf-network {
prefix "nd"; prefix "nd";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "lnk"; prefix "lnk";
} }
import ietf-l3-unicast-topology { import ietf-l3-unicast-topology {
prefix "l3t"; prefix "l3t";
} }
organization organization
"IETF I2RS (Interface to the Routing System) Working Group"; "IETF I2RS (Interface to the Routing System) Working Group";
contact contact
"WG Web: <>http://tools.ietf.org/wg/i2rs/> "WG Web: <http://tools.ietf.org/wg/i2rs/>
WG List: <mailto:i2rs@ietf.org> WG List: <mailto:i2rs@ietf.org>
WG Chair: Susan Hares WG Chair: Susan Hares
<mailto:shares@ndzh.com> <mailto:shares@ndzh.com>
WG Chair: Russ White WG Chair: Russ White
<mailto:russ@riw.us> <mailto:russ@riw.us>
Editor: Alexander Clemm Editor: Alexander Clemm
<mailto:ludwig@clemm.org> <mailto:alex@sympotech.com>
Editor: Jan Medved Editor: Jan Medved
<mailto:jmedved@cisco.com> <mailto:jmedved@cisco.com>
Editor: Robert Varga Editor: Robert Varga
<mailto:rovarga@cisco.com> <mailto:robert.varga@pantheon.sk>
Editor: Tony Tkacik
<mailto:tony.tkacik@gmail.com>
Editor: Xufeng Liu Editor: Xufeng Liu
<mailto:xliu@kuatrotech.com> <mailto:xliu@kuatrotech.com>
Editor: Igor Bryskin Editor: Igor Bryskin
<mailto:Igor.Bryskin@huawei.com> <mailto:Igor.Bryskin@huawei.com>
Editor: Aihua Guo Editor: Aihua Guo
<mailto:aguo@advaoptical.com> <mailto:aguo@advaoptical.com>
Editor: Nitin Bahadur Editor: Nitin Bahadur
<mailto:nitin_bahadur@yahoo.com> <mailto:nitin_bahadur@yahoo.com>
Editor: Hariharan Ananthakrishnan Editor: Hariharan Ananthakrishnan
<mailto:hari@packetdesign.com> <mailto:hari@packetdesign.com>
skipping to change at page 18, line 38 skipping to change at page 17, line 41
"This module defines a model for OSPF network topologies. "This module defines a model for OSPF network topologies.
Copyright (c) 2016 IETF Trust and the persons identified as Copyright (c) 2016 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of This version of this YANG module is part of
draft-ietf-i2rs-yang-network-topo-04; draft-ietf-i2rs-yang-l3-topology-05;
see the RFC itself for full legal notices. see the RFC itself for full legal notices.
NOTE TO RFC EDITOR: Please replace above reference to NOTE TO RFC EDITOR: Please replace above reference to
draft-ietf-i2rs-yang-network-topo-04 with RFC draft-ietf-i2rs-yang-l3-topology-05 with RFC
number when published (i.e. RFC xxxx)."; number when published (i.e. RFC xxxx).";
revision "2016-09-19" { revision "2016-11-16" {
description description
"Initial revision. "Initial revision.
NOTE TO RFC EDITOR: Please replace the following reference NOTE TO RFC EDITOR: Please replace the following reference
to draft-ietf-i2rs-yang-l3-topology-04 with to draft-ietf-i2rs-yang-l3-topology-05 with
RFC number when published (i.e. RFC xxxx)."; RFC number when published (i.e. RFC xxxx).";
reference reference
"draft-ietf-i2rs-yang-l3-topology-04"; "draft-ietf-i2rs-yang-l3-topology-05";
} }
typedef area-id-type { typedef area-id-type {
type yang:dotted-quad; type yang:dotted-quad;
description description
"Area ID type."; "Area ID type.";
} }
grouping ospf-topology-type { grouping ospf-topology-type {
description description
"Identifies the OSPF topology type."; "Identifies the OSPF topology type.";
container ospf { container ospf {
skipping to change at page 20, line 49 skipping to change at page 20, line 5
} }
case pseudonode { case pseudonode {
leaf pseudonode { leaf pseudonode {
type empty; type empty;
description description
"The node is pseudonode"; "The node is pseudonode";
} }
} }
} }
leaf dr-interface-id { leaf dr-interface-id {
when "../router-type/pseudonode" { when "../pseudonode" {
description description
"Valid only for pseudonode"; "Valid only for pseudonode";
} }
type uint32; type uint32;
default "0"; default "0";
description description
"For pseudonodes, DR interface-id"; "For pseudonodes, DR interface-id";
} }
leaf-list multi-topology-id { leaf-list multi-topology-id {
type uint8 { type uint8 {
range "0..127"; range "0..127";
} }
skipping to change at page 22, line 19 skipping to change at page 22, line 5
IS-IS topologies are another type of Layer 3 Unicast topology. Like IS-IS topologies are another type of Layer 3 Unicast topology. Like
in the case of OSPF topology, a model for IS-IS topology can be in the case of OSPF topology, a model for IS-IS topology can be
defined in a separate module which augments "ietf-l3-unicast-igp- defined in a separate module which augments "ietf-l3-unicast-igp-
topology". The structure of a corresponding model, "ietf-isis- topology". The structure of a corresponding model, "ietf-isis-
topology", is depicted in the following diagram. Like before, topology", is depicted in the following diagram. Like before,
brackets enclose list keys, "rw" means configuration, "ro" brackets enclose list keys, "rw" means configuration, "ro"
operational state data, "?" designates optional nodes, "*" designates operational state data, "?" designates optional nodes, "*" designates
nodes that can have multiple instances. Parantheses enclose choice nodes that can have multiple instances. Parantheses enclose choice
and case nodes. A "+" at the end of a line indicates a line break. and case nodes. A "+" at the end of a line indicates a line break.
module: ietf-isis-topology module: ietf-isis-topology
augment /nd:networks/nd:network/nd:network-types/l3t:l3-unicast-topology: augment /nd:networks/nd:network/nd:network-types/+
+--rw isis! l3t:l3-unicast-topology:
augment /nd:networks/nd:network/l3t:l3-topology-attributes: +--rw isis!
+--rw isis-topology-attributes augment /nd:networks/nd:network/l3t:l3-topology-attributes:
+--rw net? area-address +--rw isis-topology-attributes
augment /nd:networks/nd:network/nd:node/l3t:l3-node-attributes: +--rw net? area-address
+--rw isis-node-attributes augment /nd:networks/nd:network/nd:node/l3t:l3-node-attributes:
+--rw iso +--rw isis-node-attributes
| +--rw iso-system-id? system-id +--rw iso
| +--rw iso-pseudonode-id? iso-pseudonode-id | +--rw iso-system-id? system-id
+--rw net* area-address | +--rw iso-pseudonode-id? iso-pseudonode-id
+--rw multi-topology-id* uint16 +--rw net* area-address
+--rw level? level +--rw multi-topology-id* uint16
augment /nd:networks/nd:network/lnk:link/l3t:l3-link-attributes: +--rw level? level
+--rw isis-link-attributes augment /nd:networks/nd:network/lnk:link/l3t:l3-link-attributes:
+--rw multi-topology-id? uint16 +--rw isis-link-attributes
augment /l3t:l3-node-event: +--rw multi-topology-id? uint16
+---- isis! augment /l3t:l3-node-event:
+---- isis-node-attributes +---- isis!
+---- iso +---- isis-node-attributes
| +---- iso-system-id? system-id +---- iso
| +---- iso-pseudonode-id? iso-pseudonode-id | +---- iso-system-id? system-id
+---- net* area-address | +---- iso-pseudonode-id? iso-pseudonode-id
+---- multi-topology-id* uint16 +---- net* area-address
+---- level? level +---- multi-topology-id* uint16
augment /l3t:l3-link-event: +---- level? level
+---- isis! augment /l3t:l3-link-event:
+---- isis-link-attributes +---- isis!
+---- multi-topology-id? uint16 +---- isis-link-attributes
+---- multi-topology-id? uint16
The module augments the ietf-l3-unicast-topology as follows: The module augments the ietf-l3-unicast-topology as follows:
o A new topology type is introduced for isis. o A new topology type is introduced for isis.
o Additional topology attributes are introduced in a new grouping o Additional topology attributes are introduced in a new grouping
which augments "topology-attributes" of the ietf-l3-unicast- which augments "topology-attributes" of the ietf-l3-unicast-
topology module. The attributes include an ISIS NET-id topology module. The attributes include an ISIS NET-id
identifying the area. identifying the area.
skipping to change at page 23, line 30 skipping to change at page 23, line 17
In addition, the module augments nodes and links with IS-IS In addition, the module augments nodes and links with IS-IS
attributes. attributes.
Again, it should be noted that the model defined here represents Again, it should be noted that the model defined here represents
topology and is intended as an example. It does not define how to topology and is intended as an example. It does not define how to
configure IS-IS routers or interfaces. configure IS-IS routers or interfaces.
6.2.2. IS-IS Topology YANG Module 6.2.2. IS-IS Topology YANG Module
<CODE BEGINS> file "ietf-isis-topology@2016-09-19.yang" <CODE BEGINS> file "ietf-isis-topology@2016-11-16.yang"
module ietf-isis-topology { module ietf-isis-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology";
prefix "isist"; prefix "isist";
import ietf-network { import ietf-network {
prefix "nd"; prefix "nd";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "lnk"; prefix "lnk";
} }
import ietf-l3-unicast-topology { import ietf-l3-unicast-topology {
prefix "l3t"; prefix "l3t";
} }
organization organization
"IETF I2RS (Interface to the Routing System) Working Group"; "IETF I2RS (Interface to the Routing System) Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/i2rs/>> "WG Web: <http://tools.ietf.org/wg/i2rs/>
WG List: <mailto:i2rs@ietf.org> WG List: <mailto:i2rs@ietf.org>
WG Chair: Susan Hares WG Chair: Susan Hares
<mailto:shares@ndzh.com> <mailto:shares@ndzh.com>
WG Chair: Russ White WG Chair: Russ White
<mailto:russ@riw.us> <mailto:russ@riw.us>
Editor: Alexander Clemm Editor: Alexander Clemm
<mailto:ludwig@clemm.org> <mailto:sympotech.com>
Editor: Jan Medved Editor: Jan Medved
<mailto:jmedved@cisco.com> <mailto:jmedved@cisco.com>
Editor: Robert Varga Editor: Robert Varga
<mailto:rovarga@cisco.com> <mailto:robert.varga@pantheon.sk>
Editor: Tony Tkacik
<mailto:tony.tkacik@gmail.com>
Editor: Xufeng Liu Editor: Xufeng Liu
<mailto:xliu@kuatrotech.com> <mailto:xliu@kuatrotech.com>
Editor: Igor Bryskin Editor: Igor Bryskin
<mailto:Igor.Bryskin@huawei.com> <mailto:Igor.Bryskin@huawei.com>
Editor: Aihua Guo Editor: Aihua Guo
<mailto:aguo@advaoptical.com> <mailto:aguo@advaoptical.com>
Editor: Nitin Bahadur Editor: Nitin Bahadur
<mailto:nitin_bahadur@yahoo.com> <mailto:nitin_bahadur@yahoo.com>
Editor: Hariharan Ananthakrishnan Editor: Hariharan Ananthakrishnan
<mailto:hari@packetdesign.com> <mailto:hari@packetdesign.com>
skipping to change at page 24, line 36 skipping to change at page 24, line 20
"This module defines a model for IS-IS network topologies. "This module defines a model for IS-IS network topologies.
Copyright (c) 2016 IETF Trust and the persons identified as Copyright (c) 2016 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of This version of this YANG module is part of
draft-ietf-i2rs-yang-network-topo-04; draft-ietf-i2rs-yang-l3-topology-05;
see the RFC itself for full legal notices. see the RFC itself for full legal notices.
NOTE TO RFC EDITOR: Please replace above reference to NOTE TO RFC EDITOR: Please replace above reference to
draft-ietf-i2rs-yang-network-topo-04 with RFC draft-ietf-i2rs-yang-l3-topology-05 with RFC
number when published (i.e. RFC xxxx)."; number when published (i.e. RFC xxxx).";
revision "2016-09-19" { revision "2016-11-16" {
description description
"Initial revision. "Initial revision.
NOTE TO RFC EDITOR: Please replace the following reference NOTE TO RFC EDITOR: Please replace the following reference
to draft-ietf-i2rs-yang-l3-topology-4 with to draft-ietf-i2rs-yang-l3-topology-5 with
RFC number when published (i.e. RFC xxxx)."; RFC number when published (i.e. RFC xxxx).";
reference reference
draft-ietf-i2rs-yang-l3-topology-04; draft-ietf-i2rs-yang-l3-topology-05;
} }
typedef iso-pseudonode-id { typedef iso-pseudonode-id {
type string { type string {
pattern '[0-9a-fA-F]{2}'; pattern '[0-9a-fA-F]{2}';
} }
description description
"ISO pseudonode id for broadcast network."; "ISO pseudonode id for broadcast network.";
} }
typedef area-address{ typedef area-address{
type string { type string {
pattern '[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}'; pattern '[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}';
} }
description description
"This type defines the area address."; "This type defines the area address.";
skipping to change at page 28, line 20 skipping to change at page 28, line 4
"ISIS node event"; "ISIS node event";
uses isis-topology-type; uses isis-topology-type;
uses isis-node-attributes; uses isis-node-attributes;
} }
augment "/l3t:l3-link-event" { augment "/l3t:l3-link-event" {
description description
"ISIS link event"; "ISIS link event";
uses isis-topology-type; uses isis-topology-type;
uses isis-link-attributes; uses isis-link-attributes;
} }
} }
<CODE ENDS> <CODE ENDS>
7. Security Considerations 7. Interactions with Other YANG Modules
The transport protocol used for sending the topology data MUST As described in section Section 3, the model builds on top of, and
support authentication and SHOULD support encryption. The data-model augments, the YANG modules defined in
by itself does not create any security implications. [I-D.draft-ietf-i2rs-yang-network-topo]. Specifically, module ietf-
l3-unicast-topology augments modules "ietf-network" and "ietf-
network-topology". In addition, the model makes use of data types
that have been defined in [RFC6991].
8. Contributors The moodel defines a protocol independent YANG data model with layer
3 topology information. It is separate from and not linked with data
models that are used to configure routing protocols or routing
information. This includes e.g. model "ietf-routing" [RFC8022] and
model "ietf-fb-rib" [I-D.draft-acee-rtgwg-yang-rib-extend].
The model obeys the requirements for the ephemeral state found in the
document [I-D.draft-ietf-i2rs-ephemeral-state]. For ephemeral
topology data that is server provided, the process tasked with
maintaining topology information will load information from the
routing process (such as OSPF) into the data model without relying on
a configuration datastore.
8. IANA Considerations
This document registers the following namespace URIs in the "IETF XML
Registry" [RFC3688]:
URI: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology
Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace.
URI:urn:ietf:params:xml:ns:yang:ietf-ospf-topology
Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace.
URI:urn:ietf:params:xml:ns:yang:ietf-isis-topology
Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace.
This document registers the following YANG modules in the "YANG
Module Names" registry [RFC6020]:
Name: ietf-l3-unicast-topology
Namespace: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology
Prefix: l3t
Reference: draft-ietf-i2rs-yang-l3-topology-05.txt (RFC form)
Name: ietf-ospf-topology
Namespace: urn:ietf:params:xml:ns:yang:ietf-ospf-topology
Prefix: ospft
Reference: draft-ietf-i2rs-yang-l3-topology-05.txt (RFC form)
Name: ietf-isis-topology
Namespace: urn:ietf:params:xml:ns:yang:ietf-isis-topology
Prefix: isist
Reference: draft-ietf-i2rs-yang-l3-topology-05.txt (RFC form)
9. Security Considerations
The YANG module defined in this memo is designed to be accessed via
the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the
secure transport layer, and the mandatory-to-implement secure
transport is Secure Shell (SSH) [RFC6242]. The NETCONF access
control model [RFC6536] provides the means to restrict access for
particular NETCONF users to a pre-configured subset of all available
NETCONF protocol operations and content.
In general, Layer 3 Unicast topologies are server-provided and
provide ephemeral topology information. As they provide read-only
access to clients, they are less vulnerable. That said, the YANG
module does in principle allow information to be configurable in
certain instances (when the server-provided flag for the topology is
set to false). In such cases, a malicious client could introduce
topologies that are undesired. For example, a client could remove or
add topological links between nodes, which could lead to an undesired
and suboptimal topology, which might impact service levels and
network utilization. It is therefore important that the NETCONF
access control model is vigorously applied to prevent topology
configuration by unauthorized clients.
10. Contributors
The model presented in this paper was contributed to by more people The model presented in this paper was contributed to by more people
than can be listed on the author list. Additional contributors than can be listed on the author list. Additional contributors
include: include:
o Ken Gray, Juniper Networks o Ken Gray, Juniper Networks
o Tom Nadeau, Brocade o Tom Nadeau, Brocade
o Tony Tkacik
o Aleksandr Zhdankin, Cisco o Aleksandr Zhdankin, Cisco
9. Acknowledgements 11. Acknowledgements
We wish to acknowledge the helpful contributions, comments, and We wish to acknowledge the helpful contributions, comments, and
suggestions that were received from Ladislav Lhotka, Andy Bierman, suggestions that were received from Ladislav Lhotka, Andy Bierman,
Carlos Pignataro, Joel Halpern, Juergen Schoenwaelder, Alia Atlas, Carlos Pignataro, Joel Halpern, Juergen Schoenwaelder, Alia Atlas,
Susan Hares, Benoit Claise, and Carl Moberg. Susan Hares, Benoit Claise, and Carl Moberg.
10. References 12. References
10.1. Normative References 12.1. Normative References
[I-D.draft-ietf-i2rs-yang-network-topo] [I-D.draft-ietf-i2rs-yang-network-topo]
Clemm, A., Medved, J., Tkacik, T., Varga, R., Bahadur, N., Clemm, A., Medved, J., Varga, R., Bahadur, N.,
Ananthakrishnan, H., and X. Liu, "A YANG Data Model for Ananthakrishnan, H., and X. Liu, "A YANG Data Model for
Network Topologies", I-D draft-ietf-i2rs-yang-network- Network Topologies", I-D draft-ietf-i2rs-yang-network-
topo-06, September 2016. topo-08, November 2016.
[RFC1195] Callon, R., "Use of OSI IS-IS for Routing in TCP/IP and [RFC1195] Callon, R., "Use of OSI IS-IS for Routing in TCP/IP and
Dual Environments", RFC 1195, December 1990. Dual Environments", RFC 1195, December 1990.
[RFC2178] Moy, J., "OSPF Version 2", RFC 2178, July 1997. [RFC2328] Moy, J., "OSPF Version 2", RFC 2328, April 1998.
[RFC3688] Mealling, M., "The IETF XML Registry", RFC 3688, January
2004.
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010.
[RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A.
Bierman, "Network Configuration Protocol (NETCONF)", Bierman, "Network Configuration Protocol (NETCONF)",
RFC 6241, June 2011. RFC 6241, June 2011.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, June 2011.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, March
2012.
[RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991,
July 2013. July 2013.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, May 2014.
[RFC7950] Bjorklund, M., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., "The YANG 1.1 Data Modeling Language",
RFC 7950, August 2016. RFC 7950, August 2016.
10.2. Informative References 12.2. Informative References
[I-D.draft-acee-rtgwg-yang-rib-extend]
Lindem, A. and Y. Qu, "YANG Data Model for RIB
Extensions", I-D draft-acee-rtgwg-yang-rib-extend-02,
October 2016.
[I-D.draft-ietf-i2rs-ephemeral-state]
Haas, J. and S. Hares, "I2RS Ephemeral State
Requirements", I-D draft-ietf-i2rs-ephemeral-state-22,
November 2016.
[I-D.draft-ietf-i2rs-usecase-reqs-summary] [I-D.draft-ietf-i2rs-usecase-reqs-summary]
Hares, S. and M. Chen, "Summary of I2RS Use Case Hares, S. and M. Chen, "Summary of I2RS Use Case
Requirements", I-D draft-ietf-i2rs-usecase-reqs-summary- Requirements", I-D draft-ietf-i2rs-usecase-reqs-summary-
02, March 2016. 03, November 2016.
[OpenDaylight] [OpenDaylight]
Medved, J., Varga, R., Tkacik, T., and K. Gray, Medved, J., Varga, R., Tkacik, T., and K. Gray,
"OpenDaylight: Towards a Model-Driven SDN Controller "OpenDaylight: Towards a Model-Driven SDN Controller
architecture", IEEE 15th Int. Symposium on World of architecture", IEEE 15th Int. Symposium on World of
Wireless, Mobile and Multimedia Networks (IEEE WoWMoM Wireless, Mobile and Multimedia Networks (IEEE WoWMoM
2014), June 2014. 2014), June 2014.
[RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing
Management", RFC 8022, November 2016.
Authors' Addresses Authors' Addresses
Alexander Clemm Alexander Clemm
Cisco Sympotech
EMail: alex@sympotech.com
EMail: ludwig@clemm.org
Jan Medved Jan Medved
Cisco Cisco
EMail: jmedved@cisco.com EMail: jmedved@cisco.com
Robert Varga Robert Varga
Pantheon Technologies SRO Pantheon Technologies SRO
EMail: robert.varga@pantheon.sk EMail: robert.varga@pantheon.sk
Tony Tkacik
EMail: tony.tkacik@gmail.com
Xufeng Liu Xufeng Liu
Ericsson Ericsson
EMail: xliu@kuatrotech.com EMail: xliu@kuatrotech.com
Igor Bryskin Igor Bryskin
Huawei Huawei
EMail: Igor.Bryskin@huawei.com EMail: Igor.Bryskin@huawei.com
 End of changes. 66 change blocks. 
153 lines changed or deleted 243 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/