draft-ietf-i2rs-yang-l3-topology-14.txt | draft-ietf-i2rs-yang-l3-topology-15.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: June 16, 2018 Cisco | Expires: June 17, 2018 Cisco | |||
R. Varga | R. Varga | |||
Pantheon Technologies SRO | Pantheon Technologies SRO | |||
X. Liu | X. Liu | |||
Jabil | Jabil | |||
H. Ananthakrishnan | H. Ananthakrishnan | |||
Packet Design | Packet Design | |||
N. Bahadur | N. Bahadur | |||
Bracket Computing | Bracket Computing | |||
December 13, 2017 | December 14, 2017 | |||
A YANG Data Model for Layer 3 Topologies | A YANG Data Model for Layer 3 Topologies | |||
draft-ietf-i2rs-yang-l3-topology-14.txt | draft-ietf-i2rs-yang-l3-topology-15.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 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 June 16, 2018. | This Internet-Draft will expire on June 17, 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 | |||
(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 5, line 5 ¶ | skipping to change at page 5, line 5 ¶ | |||
YANG: YANG is a data modeling language used to model configuration | YANG: YANG is a data modeling language used to model configuration | |||
data, state data, Remote Procedure Calls, and notifications for | data, state data, Remote Procedure Calls, and notifications for | |||
network management protocols [RFC7950] | network management protocols [RFC7950] | |||
4. Model Structure | 4. Model Structure | |||
The Layer 3 Unicast topology model is defined by YANG module "l3- | The Layer 3 Unicast topology model is defined by YANG module "l3- | |||
unicast-topology". The relationship of this module with other YANG | unicast-topology". The relationship of this module with other YANG | |||
modules is roughly depicted in the figure below. | modules is roughly depicted in the figure below. | |||
+-----------------------------+ | +-----------------------------+ | |||
| +-----------------------+ | | | +-----------------------+ | | |||
| | ietf-network | | | | | ietf-network | | | |||
| +----------^------------+ | | | +----------^------------+ | | |||
| | | | | | | | |||
| +-----------------------+ | | | +-----------------------+ | | |||
| | ietf-network-topology | | | | | ietf-network-topology | | | |||
| +----------+------------+ | | | +----------+------------+ | | |||
+-------------^---------------+ | +-------------^---------------+ | |||
| | | | |||
| | | | |||
+-----------^-------------+ | +------------^-------------+ | |||
| L3-UNICAST-TOPOLOGY | | | ietf-l3-unicast-topology | | |||
+----+------^--------+----+ | +------------^-------------+ | |||
| | | | |||
| | | | |||
+-------^-------+ | +-----------^-----------+ | |||
| ospf-topology | | | example-ospf-topology | | |||
+---------------+ | +-----------------------+ | |||
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 | |||
[I-D.draft-ietf-i2rs-yang-network-topo]. 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-topology are designed | The YANG modules ietf-network and ietf-network-topology are designed | |||
to be used in conjunction with implementations that support the | to be used in conjunction with implementations that support the | |||
Network Management Datastore Architecture (NMDA) defined in | Network Management Datastore Architecture (NMDA) defined in | |||
[I-D.draft-ietf-netmod-revised-datastores]. Accordingly, the same is | [I-D.draft-ietf-netmod-revised-datastores]. Accordingly, the same is | |||
skipping to change at page 7, line 31 ¶ | skipping to change at page 7, line 31 ¶ | |||
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. | |||
6. Layer 3 Unicast Topology YANG Module | 6. Layer 3 Unicast Topology YANG Module | |||
<CODE BEGINS> file "ietf-l3-unicast-topology@2017-12-13.yang" | <CODE BEGINS> file "ietf-l3-unicast-topology@2017-12-14.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 "nw"; | prefix "nw"; | |||
} | } | |||
import ietf-network-topology { | import ietf-network-topology { | |||
prefix "nt"; | prefix "nt"; | |||
skipping to change at page 8, line 27 ¶ | skipping to change at page 8, line 27 ¶ | |||
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-14; | draft-ietf-i2rs-yang-l3-topology-15; | |||
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-14 with RFC | draft-ietf-i2rs-yang-l3-topology-15 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2017-12-13" { | revision "2017-12-14" { | |||
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-14 with | to draft-ietf-i2rs-yang-l3-topology-15 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-14"; | "draft-ietf-i2rs-yang-l3-topology-15"; | |||
} | } | |||
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 | |||
skipping to change at page 15, line 46 ¶ | skipping to change at page 15, line 46 ¶ | |||
URI: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state | URI: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state | |||
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 modules in the "YANG | This document registers the following YANG modules in the "YANG | |||
Module Names" registry [RFC6020]: | 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-14.txt (RFC form) | Reference: draft-ietf-i2rs-yang-l3-topology-15.txt (RFC form) | |||
Name: ietf-l3-unicast-topology-state | Name: ietf-l3-unicast-topology-state | |||
Namespace: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state | Namespace: urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state | |||
Prefix: l3t-s | Prefix: l3t-s | |||
Reference: draft-ietf-i2rs-yang-l3-topology-14.txt (RFC form) | Reference: draft-ietf-i2rs-yang-l3-topology-15.txt (RFC form) | |||
9. Security Considerations | 9. Security Considerations | |||
The YANG module defined in this document is designed to be accessed | The YANG module defined in this document is designed to be accessed | |||
via network management protocols such as NETCONF [RFC6241] or | via network management protocols such as NETCONF [RFC6241] or | |||
RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport | RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport | |||
layer, and the mandatory-to-implement secure transport is Secure | layer, and the mandatory-to-implement secure transport is Secure | |||
Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the | Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the | |||
mandatory-to-implement secure transport is TLS [RFC5246]. | mandatory-to-implement secure transport is TLS [RFC5246]. | |||
skipping to change at page 20, line 44 ¶ | skipping to change at page 20, line 44 ¶ | |||
Like ietf-network-state and ietf-network-topology-state, ietf-l3- | Like ietf-network-state and ietf-network-topology-state, ietf-l3- | |||
unicast-topology SHOULD NOT be supported by implementations that | unicast-topology SHOULD NOT be supported by implementations that | |||
support NMDA. It is for this reason that the module is defined in | support NMDA. It is for this reason that the module is defined in | |||
the Appendix. | the Appendix. | |||
The definition of the module follows below. As the structure of the | The definition of the module follows below. As the structure of the | |||
module mirrors that of its underlying module, the YANG tree is not | module mirrors that of its underlying module, the YANG tree is not | |||
depicted separately. | depicted separately. | |||
<CODE BEGINS> file "ietf-l3-unicast-topology-state@2017-12-13.yang" | <CODE BEGINS> file "ietf-l3-unicast-topology-state@2017-12-14.yang" | |||
module ietf-l3-unicast-topology-state { | module ietf-l3-unicast-topology-state { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace | namespace | |||
"urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state"; | "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state"; | |||
prefix "l3t-s"; | prefix "l3t-s"; | |||
import ietf-network-state { | import ietf-network-state { | |||
prefix "nw-s"; | prefix "nw-s"; | |||
} | } | |||
import ietf-network-topology-state { | import ietf-network-topology-state { | |||
prefix "nt-s"; | prefix "nt-s"; | |||
skipping to change at page 21, line 48 ¶ | skipping to change at page 21, line 48 ¶ | |||
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-14; | draft-ietf-i2rs-yang-l3-topology-15; | |||
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-14 with RFC | draft-ietf-i2rs-yang-l3-topology-15 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision "2017-12-13" { | revision "2017-12-14" { | |||
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-14 with | to draft-ietf-i2rs-yang-l3-topology-15 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-14"; | "draft-ietf-i2rs-yang-l3-topology-15"; | |||
} | } | |||
augment "/nw-s:networks/nw-s:network/nw-s:network-types" { | augment "/nw-s:networks/nw-s:network/nw-s:network-types" { | |||
description | description | |||
"Introduce new network type for L3 unicast topology"; | "Introduce new network type for L3 unicast topology"; | |||
uses l3t:l3-unicast-topology-type; | uses l3t:l3-unicast-topology-type; | |||
} | } | |||
augment "/nw-s:networks/nw-s:network" { | augment "/nw-s:networks/nw-s:network" { | |||
when "nw-s:network-types/l3t-s:l3-unicast-topology" { | when "nw-s:network-types/l3t-s:l3-unicast-topology" { | |||
description | description | |||
"Augmentation parameters apply only for networks with | "Augmentation parameters apply only for networks with | |||
skipping to change at page 24, line 35 ¶ | skipping to change at page 24, line 35 ¶ | |||
illustrates how the general topology model can be refined across | illustrates how the general topology model can be refined across | |||
multiple levels. It does not constitute full-fledged OSPF topology | multiple levels. It does not constitute full-fledged OSPF topology | |||
model which may be more comprehensive and refined than the model that | model which may be more comprehensive and refined than the model that | |||
is described here. | is described here. | |||
B.1. Example OSPF Topology | B.1. Example OSPF Topology | |||
B.1.1. Model Overview | B.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, in this case to cover OSFP topologies. For this | |||
augmentations are introduced in a separate YANG module, "example- | purpose, a set of augmentations are introduced in a separate YANG | |||
ospf-topology", whose structure is depicted in the following diagram. | module, "example-ospf-topology", whose structure is depicted in the | |||
As before, the notation syntax follows | following diagram. As before, the notation syntax follows | |||
[I-D.draft-ietf-netmod-yang-tree-diagrams]. | [I-D.draft-ietf-netmod-yang-tree-diagrams]. | |||
module: example-ospf-topology | module: example-ospf-topology | |||
augment /nw:networks/nw:network/nw:network-types/l3t:l3-unicast-topology: | augment /nw:networks/nw:network/nw:network-types/l3t:l3-unicast-topology: | |||
+--rw ospf! | +--rw ospf! | |||
augment /nw:networks/nw:network/l3t:l3-topology-attributes: | augment /nw:networks/nw:network/l3t:l3-topology-attributes: | |||
+--rw ospf-topology-attributes | +--rw ospf-topology-attributes | |||
+--rw area-id? area-id-type | +--rw area-id? area-id-type | |||
augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: | augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: | |||
+--rw ospf-node-attributes | +--rw ospf-node-attributes | |||
skipping to change at page 26, line 26 ¶ | skipping to change at page 26, line 26 ¶ | |||
OSPF routers or interfaces. | OSPF routers or interfaces. | |||
B.1.2. OSPF Topology YANG Module | B.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-ospf-topology@2017-12-13.yang" | file "example-ospf-topology@2017-12-14.yang" | |||
module example-ospf-topology { | module example-ospf-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:example:example-ospf-topology"; | namespace "urn:example:example-ospf-topology"; | |||
prefix "ex-ospft"; | prefix "ex-ospft"; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix "yang"; | prefix "yang"; | |||
} | } | |||
import ietf-network { | import ietf-network { | |||
prefix "nw"; | prefix "nw"; | |||
} | } | |||
End of changes. 22 change blocks. | ||||
43 lines changed or deleted | 44 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |