draft-ietf-i2rs-yang-l3-topology-09.txt | draft-ietf-i2rs-yang-l3-topology-10.txt | |||
---|---|---|---|---|
Network Working Group A. Clemm | Network Working Group A. Clemm | |||
Internet-Draft Huawei | Internet-Draft Huawei | |||
Intended status: Standards Track J. Medved | Intended status: Standards Track J. Medved | |||
Expires: December 28, 2017 Cisco | Expires: January 3, 2018 Cisco | |||
R. Varga | R. Varga | |||
Pantheon Technologies SRO | Pantheon Technologies SRO | |||
X. Liu | X. Liu | |||
Ericsson | Ericsson | |||
H. Ananthakrishnan | H. Ananthakrishnan | |||
Packet Design | Packet Design | |||
N. Bahadur | N. Bahadur | |||
Bracket Computing | Bracket Computing | |||
June 26, 2017 | July 2, 2017 | |||
A YANG Data Model for Layer 3 Topologies | A YANG Data Model for Layer 3 Topologies | |||
draft-ietf-i2rs-yang-l3-topology-09.txt | draft-ietf-i2rs-yang-l3-topology-10.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 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
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 December 28, 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 33 ¶ | skipping to change at page 2, line 33 ¶ | |||
6.2.1. Model Overview . . . . . . . . . . . . . . . . . . . 22 | 6.2.1. Model Overview . . . . . . . . . . . . . . . . . . . 22 | |||
6.2.2. IS-IS Topology YANG Module . . . . . . . . . . . . . 23 | 6.2.2. IS-IS Topology YANG Module . . . . . . . . . . . . . 23 | |||
7. Interactions with Other YANG Modules . . . . . . . . . . . . 28 | 7. Interactions with Other YANG Modules . . . . . . . . . . . . 28 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | |||
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 29 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 30 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 30 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 30 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 31 | 12.2. Informative References . . . . . . . . . . . . . . . . . 31 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 | Appendix A. Companion YANG model for non-NMDA compliant | |||
implementations . . . . . . . . . . . . . . . . . . 32 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
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]. | [I-D.draft-ietf-i2rs-yang-network-topo]. | |||
skipping to change at page 3, line 50 ¶ | skipping to change at page 4, line 4 ¶ | |||
as instantiated YANG data. | as instantiated YANG data. | |||
Data tree: An instantiated tree of data modeled with YANG, in which | Data tree: An instantiated tree of data modeled with YANG, in which | |||
individual data items are represented by data nodes which are | individual data items are represented by data nodes which are | |||
arranged in hierarchical manner. | arranged in hierarchical manner. | |||
Data subtree: An instantiated data node and the data nodes that are | Data subtree: An instantiated data node and the data nodes that are | |||
hierarchically contained within it. | hierarchically contained within it. | |||
HTTP: Hyper-Text Transfer Protocol | HTTP: Hyper-Text Transfer Protocol | |||
IGP: Interior Gateway Protocol | IGP: Interior Gateway Protocol | |||
IS-IS: Intermediate System to Intermediate System protocol | IS-IS: Intermediate System to Intermediate System protocol | |||
LSP: Label Switched Path | LSP: Label Switched Path | |||
NETCONF: Network Configuration Protocol | NETCONF: Network Configuration Protocol | |||
NMDA: Network Management Datastore Architecture | ||||
OSPF: Open Shortest Path First, a link state routing protocol | OSPF: Open Shortest Path First, a link state routing protocol | |||
URI: Uniform Resource Identifier | URI: Uniform Resource Identifier | |||
ReST: Representational State Transfer, a style of stateless interface | ReST: Representational State Transfer, a style of stateless interface | |||
and protocol that is generally carried over HTTP | and protocol that is generally carried over HTTP | |||
SRLG: Shared Risk Link Group | SRLG: Shared Risk Link Group | |||
TED: Traffic Engineering Database | TED: Traffic Engineering Database | |||
skipping to change at page 5, line 13 ¶ | skipping to change at page 5, line 36 ¶ | |||
Figure 1: Overall model structure | Figure 1: Overall model structure | |||
YANG modules "ietf-network" and "ietf-network-topology" collectively | YANG modules "ietf-network" and "ietf-network-topology" collectively | |||
define the basic network topology model. YANG module "ietf-l3- | define the basic network topology model. YANG module "ietf-l3- | |||
unicast-topology" augments those models with additional definitions | unicast-topology" augments those models with additional definitions | |||
needed to represent Layer 3 Unicast topologies. This module in turn | needed to represent Layer 3 Unicast topologies. This module in turn | |||
can be augmented by YANG modules with additional definitions for | can be augmented by YANG modules with additional definitions for | |||
specific types of Layer 3 Unicast topologies, such as OSPF and for | specific types of Layer 3 Unicast topologies, such as OSPF and for | |||
IS-IS topologies. | IS-IS topologies. | |||
The YANG modules ietf-network and ietf-network are designed to be | ||||
used in conjunction with implementations that support the Network | ||||
Management Datastore Architecture (NMDA) defined in | ||||
[I-D.draft-ietf-netmod-revised-datastores]. Accordingly, the same is | ||||
true for the YANG modules that augment it. In order to allow | ||||
implementations to use the model even in cases when NMDA is not | ||||
supported, companion YANG modules (that SHOULD NOT be supported by | ||||
implementations that support NMDA) are defined in an Appendix, see | ||||
Appendix A. | ||||
4. Layer 3 Unicast Topology Model Overview | 4. Layer 3 Unicast Topology Model Overview | |||
The Layer 3 Unicast topology model is defined by YANG module "ietf- | The Layer 3 Unicast topology model is defined by YANG module "ietf- | |||
l3-unicast-topology" and depicted in the following diagram. Brackets | l3-unicast-topology" and depicted in the following diagram. Brackets | |||
enclose list keys, "rw" means configuration, "ro" operational state | enclose list keys, "rw" means configuration, "ro" operational state | |||
data, "?" designates optional nodes, "*" designates nodes that can | data, "?" designates optional nodes, "*" designates nodes that can | |||
have multiple instances. Parantheses enclose choice and case nodes. | have multiple instances. Parantheses enclose choice and case nodes. | |||
The prefix "nd:" refers to the YANG module for networks; the prefix | The prefix "nd:" refers to the YANG module for networks; the prefix | |||
"lnk:" refers to the YANG module for network topology. In the | "lnk:" refers to the YANG module for network topology. In the | |||
interest of brevity, notifications are not depicted. | interest of brevity, notifications are not depicted. | |||
module: ietf-l3-unicast-topology | module: ietf-l3-unicast-topology | |||
augment /nd:networks/nd:network/nd:network-types: | augment /nd:networks/nd:network/nd:network-types: | |||
+--rw l3-unicast-topology! | +--rw l3-unicast-topology! | |||
augment /nd:networks/nd:network: | augment /nd:networks/nd:network: | |||
+--rw l3-topology-attributes | +--rw l3-topology-attributes | |||
+--rw name? string | +--rw name? string | |||
skipping to change at page 7, line 28 ¶ | skipping to change at page 7, line 33 ¶ | |||
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@2017-06-26.yang" | <CODE BEGINS> file "ietf-l3-unicast-topology@2017-07-02.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 29 ¶ | skipping to change at page 8, line 33 ¶ | |||
topologies. | topologies. | |||
Copyright (c) 2017 IETF Trust and the persons identified as | Copyright (c) 2017 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-l3-topology-09; | draft-ietf-i2rs-yang-l3-topology-10; | |||
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-l3-topology-09 with RFC | draft-ietf-i2rs-yang-l3-topology-10 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2017-06-26" { | revision "2017-07-02" { | |||
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-09 with | to draft-ietf-i2rs-yang-l3-topology-10 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-09"; | "draft-ietf-i2rs-yang-l3-topology-10"; | |||
} | } | |||
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 17, line 37 ¶ | skipping to change at page 17, line 37 ¶ | |||
OSPF routers or interfaces. | OSPF routers or interfaces. | |||
6.1.2. OSPF Topology YANG Module | 6.1.2. OSPF Topology YANG Module | |||
The OSPF Topology YANG Module is specified below. As mentioned, the | The OSPF Topology YANG Module is specified below. As mentioned, the | |||
module is intended as an example for how the Layer 3 Unicast topology | module is intended as an example for how the Layer 3 Unicast topology | |||
model can be extended to cover OSFP topologies, but it is not | model can be extended to cover OSFP topologies, but it is not | |||
normative. Accordingly, the module is not delimited with CODE BEGINS | normative. Accordingly, the module is not delimited with CODE BEGINS | |||
and CODE ENDS tags. | and CODE ENDS tags. | |||
file "example-ietf-ospf-topology@2017-06-26.yang" | file "example-ietf-ospf-topology@2017-07-02.yang" | |||
module example-ietf-ospf-topology { | module example-ietf-ospf-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:example-ietf-ospf-topology"; | namespace "urn:ietf:params:xml:ns:yang:example-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"; | |||
} | } | |||
skipping to change at page 18, line 38 ¶ | skipping to change at page 18, line 38 ¶ | |||
"This module defines a model for OSPF network topologies. | "This module defines a model for OSPF network topologies. | |||
Copyright (c) 2017 IETF Trust and the persons identified as | Copyright (c) 2017 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-l3-topology-09; | draft-ietf-i2rs-yang-l3-topology-10; | |||
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-l3-topology-09 with RFC | draft-ietf-i2rs-yang-l3-topology-10 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2017-06-26" { | revision "2017-07-02" { | |||
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-09 with | to draft-ietf-i2rs-yang-l3-topology-10 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-09"; | "draft-ietf-i2rs-yang-l3-topology-10"; | |||
} | } | |||
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 23, line 38 ¶ | skipping to change at page 23, line 38 ¶ | |||
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 | |||
The IS-IS Topology YANG Module is specified as follows. As | The IS-IS Topology YANG Module is specified as follows. As | |||
mentioned, the module is intended as an example for how the Layer 3 | mentioned, the module is intended as an example for how the Layer 3 | |||
Unicast topology model can be extended to cover IS-IS topologies, but | Unicast topology model can be extended to cover IS-IS topologies, but | |||
it is not normative. Accordingly, the module is not delimited with | it is not normative. Accordingly, the module is not delimited with | |||
CODE BEGINS and CODE ENDS tags. | CODE BEGINS and CODE ENDS tags. | |||
file "example-ietf-isis-topology@2017-06-26.yang" | file "example-ietf-isis-topology@2017-07-02.yang" | |||
module example-ietf-isis-topology { | module example-ietf-isis-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:example-ietf-isis-topology"; | namespace "urn:ietf:params:xml:ns:yang:example-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"; | |||
} | } | |||
skipping to change at page 24, line 35 ¶ | skipping to change at page 24, line 35 ¶ | |||
"This module defines a model for IS-IS network topologies. | "This module defines a model for IS-IS network topologies. | |||
Copyright (c) 2017 IETF Trust and the persons identified as | Copyright (c) 2017 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-l3-topology-08; | draft-ietf-i2rs-yang-l3-topology-10; | |||
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-l3-topology-08 with RFC | draft-ietf-i2rs-yang-l3-topology-10 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2017-06-26" { | revision "2017-07-02" { | |||
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-08 with | to draft-ietf-i2rs-yang-l3-topology-10 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-08; | draft-ietf-i2rs-yang-l3-topology-10; | |||
} | } | |||
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{ | |||
skipping to change at page 28, line 46 ¶ | skipping to change at page 28, line 46 ¶ | |||
The model obeys the requirements for the ephemeral state found in the | The model obeys the requirements for the ephemeral state found in the | |||
document [I-D.draft-ietf-i2rs-ephemeral-state]. For ephemeral | document [I-D.draft-ietf-i2rs-ephemeral-state]. For ephemeral | |||
topology data that is server provided, the process tasked with | topology data that is server provided, the process tasked with | |||
maintaining topology information will load information from the | maintaining topology information will load information from the | |||
routing process (such as OSPF) into the data model without relying on | routing process (such as OSPF) into the data model without relying on | |||
a configuration datastore. | a configuration datastore. | |||
8. IANA Considerations | 8. IANA Considerations | |||
This document registers the following namespace URI in the "IETF XML | This document registers the following namespace URIs in the "IETF XML | |||
Registry" [RFC3688]: | Registry" [RFC3688]: | |||
URI: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology | URI: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology | |||
Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
This document registers the following YANG module in the "YANG Module | URI: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state | |||
Names" registry [RFC6020]: | 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 | Name: ietf-l3-unicast-topology | |||
Namespace: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology | Namespace: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology | |||
Prefix: l3t | Prefix: l3t | |||
Reference: draft-ietf-i2rs-yang-l3-topology-08.txt (RFC form) | Reference: draft-ietf-i2rs-yang-l3-topology-10.txt (RFC form) | |||
Name: ietf-l3-unicast-topology-state | ||||
Namespace: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state | ||||
Prefix: l3t-s | ||||
Reference: draft-ietf-i2rs-yang-l3-topology-10.txt (RFC form) | ||||
9. Security Considerations | 9. Security Considerations | |||
The YANG module defined in this memo is designed to be accessed via | The YANG module defined in this memo is designed to be accessed via | |||
the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the | the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the | |||
secure transport layer, and the mandatory-to-implement secure | secure transport layer, and the mandatory-to-implement secure | |||
transport is Secure Shell (SSH) [RFC6242]. The NETCONF access | transport is Secure Shell (SSH) [RFC6242]. The NETCONF access | |||
control model [RFC6536] provides the means to restrict access for | control model [RFC6536] provides the means to restrict access for | |||
particular NETCONF users to a pre-configured subset of all available | particular NETCONF users to a pre-configured subset of all available | |||
NETCONF protocol operations and content. | NETCONF protocol operations and content. | |||
skipping to change at page 30, line 21 ¶ | skipping to change at page 30, line 31 ¶ | |||
Susan Hares, Benoit Claise, and Carl Moberg. | Susan Hares, Benoit Claise, and Carl Moberg. | |||
12. References | 12. References | |||
12.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., 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-13, June 2017. | topo-14, June 2017. | |||
[I-D.draft-ietf-netmod-revised-datastores] | ||||
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | ||||
and R. Wilton, "A Revised Conceptual Model for YANG | ||||
Datastores", I-D draft-ietf-netmod-revised-datastores-02, | ||||
May 2017. | ||||
[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. | |||
[RFC2328] Moy, J., "OSPF Version 2", RFC 2328, April 1998. | [RFC2328] Moy, J., "OSPF Version 2", RFC 2328, April 1998. | |||
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group | [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group | |||
MIB", RFC 2863, June 2000. | MIB", RFC 2863, June 2000. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", RFC 3688, January | [RFC3688] Mealling, M., "The IETF XML Registry", RFC 3688, January | |||
skipping to change at page 31, line 36 ¶ | skipping to change at page 32, line 5 ¶ | |||
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and | Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and | |||
O. Gonzalez De Dios, "YANG Data Model for TE Topologies", | O. Gonzalez De Dios, "YANG Data Model for TE Topologies", | |||
I-D draft-ietf-teas-yang-te-topo-09, June 2017. | I-D draft-ietf-teas-yang-te-topo-09, June 2017. | |||
[RFC7223] Bjorklund, M., "A YANG Data Model for Routing Management", | [RFC7223] Bjorklund, M., "A YANG Data Model for Routing Management", | |||
RFC 7223, May 2014. | RFC 7223, May 2014. | |||
[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, November 2016. | Management", RFC 8022, November 2016. | |||
Appendix A. Companion YANG model for non-NMDA compliant implementations | ||||
The YANG module ietf-l3-unicast-topology defined in this document | ||||
augments two modules, ietf-network and ietf-network-topology, that | ||||
are designed to be used in conjunction with implementations that | ||||
support the Network Management Datastore Architecture (NMDA) defined | ||||
in [I-D.draft-ietf-netmod-revised-datastores]. In order to allow | ||||
implementations to use the model even in cases when NMDA is not | ||||
supported, a set of companion modules have been defined that | ||||
represent a state model of networks and network topologies, ietf- | ||||
network-state and ietf-network-topology-state, respectively. | ||||
In order to be able to use the model for layer 3 topologies defined | ||||
in this in this document in conjunction with non-NMDA compliant | ||||
implementations, a corresponding companion module needs to be | ||||
introduced as well. This companion module, ietf-l3-unicast-topology- | ||||
state, mirrors ietf-l3-unicast-topology. However, the module | ||||
augments ietf-network-state and ietf-network-topology-state (instead | ||||
of ietf-network and ietf-network-state) and all of its data nodes are | ||||
non-configurable. | ||||
Similar considerations apply for any modules that augment ietf-l3- | ||||
unicast-topology, such as the example modules defined earlier, | ||||
example-ietf-ospf-topology and example-ietf-isis-topology. For non- | ||||
NMDA compliant implementations, companion modules will need to be | ||||
introduced that represent state information and are non-configurable, | ||||
augmenting ietf-l3-unicast-topology-state instead of ietf-l3-unicast- | ||||
topology. Because they served as examples only, companion modules | ||||
for those examples are not given. | ||||
Like ietf-network-state and ietf-network-topology-state, ietf-l3- | ||||
unicast-topology SHOULD NOT be supported by implementations that | ||||
support NMDA. It is for this reason that the module is defined in | ||||
the Appendix. | ||||
The definition of the module follows below. As the structure of the | ||||
module mirrors that of its underlying module, the YANG tree is not | ||||
depicted separately. | ||||
<CODE BEGINS> file "ietf-l3-unicast-topology-state@2017-07-02.yang" | ||||
module ietf-l3-unicast-topology-state { | ||||
yang-version 1.1; | ||||
namespace | ||||
"urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state"; | ||||
prefix "l3t-s"; | ||||
import ietf-network-state { | ||||
prefix "nd-s"; | ||||
} | ||||
import ietf-network-topology-state { | ||||
prefix "lnk-s"; | ||||
} | ||||
import ietf-l3-unicast-topology { | ||||
prefix "l3t"; | ||||
} | ||||
organization | ||||
"IETF I2RS (Interface to the Routing System) Working Group"; | ||||
contact | ||||
"WG Web: <http://tools.ietf.org/wg/i2rs/> | ||||
WG List: <mailto:i2rs@ietf.org> | ||||
WG Chair: Susan Hares | ||||
<mailto:shares@ndzh.com> | ||||
WG Chair: Russ White | ||||
<mailto:russ@riw.us> | ||||
Editor: Alexander Clemm | ||||
<mailto:ludwig@clemm.org> | ||||
Editor: Jan Medved | ||||
<mailto:jmedved@cisco.com> | ||||
Editor: Robert Varga | ||||
<mailto:robert.varga@pantheon.sk> | ||||
Editor: Xufeng Liu | ||||
<mailto:xliu@kuatrotech.com> | ||||
Editor: Nitin Bahadur | ||||
<mailto:nitin_bahadur@yahoo.com> | ||||
Editor: Hariharan Ananthakrishnan | ||||
<mailto:hari@packetdesign.com>"; | ||||
description | ||||
"This module defines a model for Layer 3 Unicast topology | ||||
state, representing topology that is either learned, or topology | ||||
that results from applying topology that has been configured per | ||||
the ietf-l3-unicast-topology model, mirroring the corresponding | ||||
data nodes in this model. | ||||
The model mirrors ietf-l3-unicast-topology, but contains only | ||||
read-only state data. The model is not needed when the | ||||
underlying implementation infrastructure supports the Network | ||||
Management Datastore Architecture (NMDA). | ||||
Copyright (c) 2017 IETF Trust and the persons identified as | ||||
authors of the code. All rights reserved. | ||||
Redistribution and use in source and binary forms, with or | ||||
without modification, is permitted pursuant to, and subject | ||||
to the license terms contained in, the Simplified BSD License | ||||
set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
Relating to IETF Documents | ||||
(http://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of | ||||
draft-ietf-i2rs-yang-l3-topology-10; | ||||
see the RFC itself for full legal notices. | ||||
NOTE TO RFC EDITOR: Please replace above reference to | ||||
draft-ietf-i2rs-yang-l3-topology-10 with RFC | ||||
number when published (i.e. RFC xxxx)."; | ||||
revision "2017-07-02" { | ||||
description | ||||
"Initial revision. | ||||
NOTE TO RFC EDITOR: Please replace the following reference | ||||
to draft-ietf-i2rs-yang-l3-topology-10 with | ||||
RFC number when published (i.e. RFC xxxx)."; | ||||
reference | ||||
"draft-ietf-i2rs-yang-l3-topology-10"; | ||||
} | ||||
augment "/nd-s:networks/nd-s:network/nd-s:network-types" { | ||||
description | ||||
"Introduce new network type for L3 unicast topology"; | ||||
uses l3t:l3-unicast-topology-type; | ||||
} | ||||
augment "/nd-s:networks/nd-s:network" { | ||||
when "nd-s:network-types/l3-unicast-topology" { | ||||
description | ||||
"Augmentation parameters apply only for networks with | ||||
L3 unicast topology"; | ||||
} | ||||
description | ||||
"L3 unicast for the network as a whole"; | ||||
uses l3t:l3-topology-attributes; | ||||
} | ||||
augment "/nd-s:networks/nd-s:network/nd-s:node" { | ||||
when "../nd-s:network-types/l3-unicast-topology" { | ||||
description | ||||
"Augmentation parameters apply only for networks with | ||||
L3 unicast topology"; | ||||
} | ||||
description | ||||
"L3 unicast node level attributes "; | ||||
uses l3t:l3-node-attributes; | ||||
} | ||||
augment "/nd-s:networks/nd-s:network/lnk-s:link" { | ||||
when "../nd-s:network-types/l3-unicast-topology" { | ||||
description | ||||
"Augmentation parameters apply only for networks with | ||||
L3 unicast topology"; | ||||
} | ||||
description | ||||
"Augment topology link attributes"; | ||||
uses l3t:l3-link-attributes; | ||||
} | ||||
augment "/nd-s:networks/nd-s:network/nd-s:node/" | ||||
+"lnk-s:termination-point" { | ||||
when "../../nd-s:network-types/l3-unicast-topology" { | ||||
description | ||||
"Augmentation parameters apply only for networks with | ||||
L3 unicast topology"; | ||||
} | ||||
description "Augment topology termination point configuration"; | ||||
uses l3t:l3-termination-point-attributes; | ||||
} | ||||
notification l3-node-event { | ||||
description | ||||
"Notification event for L3 node"; | ||||
leaf l3-event-type { | ||||
type l3t:l3-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses nd-s:node-ref; | ||||
uses l3t:l3-unicast-topology-type; | ||||
uses l3t:l3-node-attributes; | ||||
} | ||||
notification l3-link-event { | ||||
description | ||||
"Notification event for L3 link"; | ||||
leaf l3-event-type { | ||||
type l3t:l3-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses lnk-s:link-ref; | ||||
uses l3t:l3-unicast-topology-type; | ||||
uses l3t:l3-link-attributes; | ||||
} | ||||
notification l3-prefix-event { | ||||
description | ||||
"Notification event for L3 prefix"; | ||||
leaf l3-event-type { | ||||
type l3t:l3-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses nd-s:node-ref; | ||||
uses l3t:l3-unicast-topology-type; | ||||
container prefix { | ||||
description | ||||
"Containing L3 prefix attributes"; | ||||
uses l3t:l3-prefix-attributes; | ||||
} | ||||
} | ||||
notification termination-point-event { | ||||
description | ||||
"Notification event for L3 termination point"; | ||||
leaf l3-event-type { | ||||
type l3t:l3-event-type; | ||||
description | ||||
"Event type"; | ||||
} | ||||
uses lnk-s:tp-ref; | ||||
uses l3t:l3-unicast-topology-type; | ||||
uses l3t:l3-termination-point-attributes; | ||||
} | ||||
} | ||||
<CODE ENDS> | ||||
Authors' Addresses | Authors' Addresses | |||
Alexander Clemm | Alexander Clemm | |||
Huawei | Huawei | |||
EMail: ludwig@clemm.org | EMail: ludwig@clemm.org | |||
Jan Medved | Jan Medved | |||
Cisco | Cisco | |||
End of changes. 34 change blocks. | ||||
30 lines changed or deleted | 272 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/ |