draft-ietf-i2rs-yang-network-topo-09.txt | draft-ietf-i2rs-yang-network-topo-10.txt | |||
---|---|---|---|---|
Network Working Group A. Clemm | Network Working Group A. Clemm | |||
Internet-Draft Sympotech | Internet-Draft Huawei | |||
Intended status: Standards Track J. Medved | Intended status: Standards Track J. Medved | |||
Expires: June 3, 2017 Cisco | Expires: July 7, 2017 Cisco | |||
R. Varga | R. Varga | |||
Pantheon Technologies SRO | Pantheon Technologies SRO | |||
N. Bahadur | N. Bahadur | |||
Bracket Computing | Bracket Computing | |||
H. Ananthakrishnan | H. Ananthakrishnan | |||
Packet Design | Packet Design | |||
X. Liu | X. Liu | |||
Ericsson | Ericsson | |||
November 30, 2016 | January 3, 2017 | |||
A Data Model for Network Topologies | A Data Model for Network Topologies | |||
draft-ietf-i2rs-yang-network-topo-09.txt | draft-ietf-i2rs-yang-network-topo-10.txt | |||
Abstract | Abstract | |||
This document defines an abstract (generic) YANG data model for | This document defines an abstract (generic) YANG data model for | |||
network/service topologies and inventories. The model serves as a | network/service topologies and inventories. The model serves as a | |||
base model which is augmented with technology-specific details in | base model which is augmented with technology-specific details in | |||
other, more specific topology and inventory models. | other, more specific topology and inventory models. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
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 June 3, 2017. | This Internet-Draft will expire on July 7, 2017. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2016 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 17, line 33 ¶ | skipping to change at page 17, line 33 ¶ | |||
topology data is integrated into a larger, more complex system. | topology data is integrated into a larger, more complex system. | |||
5. Interactions with Other YANG Modules | 5. Interactions with Other YANG Modules | |||
The model makes use of data types that have been defined in | The model makes use of data types that have been defined in | |||
[RFC6991]. | [RFC6991]. | |||
This is a protocol independent yang model with topology information. | This is a protocol independent yang model with topology information. | |||
It is separate from and not linked with data models that are used to | It is separate from and not linked with data models that are used to | |||
configure routing protocols or routing information. This includes | configure routing protocols or routing information. This includes | |||
e.g. model "ietf-routing" [RFC8022] and model "ietf-fb-rib" | e.g. model "ietf-routing" [RFC8022]. | |||
[I-D.draft-acee-rtgwg-yang-rib-extend]. | ||||
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. | |||
6. YANG Modules | 6. YANG Modules | |||
6.1. Defining the Abstract Network: network.yang | 6.1. Defining the Abstract Network: network.yang | |||
<CODE BEGINS> file "ietf-network@2016-11-30.yang" | <CODE BEGINS> file "ietf-network@2017-01-03.yang" | |||
module ietf-network { | module ietf-network { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-network"; | namespace "urn:ietf:params:xml:ns:yang:ietf-network"; | |||
prefix nd; | prefix nd; | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix inet; | prefix inet; | |||
} | } | |||
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> | |||
skipping to change at page 18, line 22 ¶ | skipping to change at page 18, line 21 ¶ | |||
"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:alex@sympotech.com> | <mailto:ludwig@clemm.org> | |||
Editor: Jan Medved | Editor: Jan Medved | |||
<mailto:jmedved@cisco.com> | <mailto:jmedved@cisco.com> | |||
Editor: Robert Varga | Editor: Robert Varga | |||
<mailto:robert.varga@pantheon.sk> | <mailto:robert.varga@pantheon.sk> | |||
Editor: Nitin Bahadur | Editor: Nitin Bahadur | |||
<mailto:nitin_bahadur@yahoo.com> | <mailto:nitin_bahadur@yahoo.com> | |||
skipping to change at page 18, line 44 ¶ | skipping to change at page 18, line 43 ¶ | |||
<mailto:hari@packetdesign.com> | <mailto:hari@packetdesign.com> | |||
Editor: Xufeng Liu | Editor: Xufeng Liu | |||
<mailto:xliu@kuatrotech.com>"; | <mailto:xliu@kuatrotech.com>"; | |||
description | description | |||
"This module defines a common base model for a collection | "This module defines a common base model for a collection | |||
of nodes in a network. Node definitions are further used | of nodes in a network. Node definitions are further used | |||
in network topologies and inventories. | in network topologies and inventories. | |||
Copyright (c) 2016 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-network-topo-09; | draft-ietf-i2rs-yang-network-topo-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-network-topo-09 with RFC | draft-ietf-i2rs-yang-network-topo-10 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision 2016-11-30 { | revision 2017-01-03 { | |||
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-network-topo-09 with | to draft-ietf-i2rs-yang-network-topo-10 with | |||
RFC number when published (i.e. RFC xxxx)."; | RFC number when published (i.e. RFC xxxx)."; | |||
reference | reference | |||
"draft-ietf-i2rs-yang-network-topo-09"; | "draft-ietf-i2rs-yang-network-topo-10"; | |||
} | } | |||
typedef node-id { | typedef node-id { | |||
type inet:uri; | type inet:uri; | |||
description | description | |||
"Identifier for a node. The precise structure of the node-id | "Identifier for a node. The precise structure of the node-id | |||
will be up to the implementation. Some implementations MAY | will be up to the implementation. Some implementations MAY | |||
for example, pick a uri that includes the network-id as | for example, pick a uri that includes the network-id as | |||
part of the path. The identifier SHOULD be chosen such that | part of the path. The identifier SHOULD be chosen such that | |||
the same node in a real network topology will always be | the same node in a real network topology will always be | |||
skipping to change at page 22, line 39 ¶ | skipping to change at page 22, line 36 ¶ | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
6.2. Creating Abstract Network Topology: network-topology.yang | 6.2. Creating Abstract Network Topology: network-topology.yang | |||
<CODE BEGINS> file "ietf-network-topology@2016-11-30.yang" | <CODE BEGINS> file "ietf-network-topology@2017-01-03.yang" | |||
module ietf-network-topology { | module ietf-network-topology { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-network-topology"; | namespace "urn:ietf:params:xml:ns:yang:ietf-network-topology"; | |||
prefix lnk; | prefix lnk; | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix inet; | prefix inet; | |||
} | } | |||
import ietf-network { | import ietf-network { | |||
prefix nd; | prefix nd; | |||
skipping to change at page 23, line 17 ¶ | skipping to change at page 23, line 16 ¶ | |||
"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:alex@sympotech.com> | <mailto:ludwig@clemm.org> | |||
Editor: Jan Medved | Editor: Jan Medved | |||
<mailto:jmedved@cisco.com> | <mailto:jmedved@cisco.com> | |||
Editor: Robert Varga | Editor: Robert Varga | |||
<mailto:robert.varga@pantheon.sk> | <mailto:robert.varga@pantheon.sk> | |||
Editor: Nitin Bahadur | Editor: Nitin Bahadur | |||
<mailto:nitin_bahadur@yahoo.com> | <mailto:nitin_bahadur@yahoo.com> | |||
skipping to change at page 23, line 39 ¶ | skipping to change at page 23, line 38 ¶ | |||
<mailto:hari@packetdesign.com> | <mailto:hari@packetdesign.com> | |||
Editor: Xufeng Liu | Editor: Xufeng Liu | |||
<mailto:xliu@kuatrotech.com>"; | <mailto:xliu@kuatrotech.com>"; | |||
description | description | |||
"This module defines a common base model for network topology, | "This module defines a common base model for network topology, | |||
augmenting the base network model with links to connect nodes, | augmenting the base network model with links to connect nodes, | |||
as well as termination points to terminate links on nodes. | as well as termination points to terminate links on nodes. | |||
Copyright (c) 2016 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-network-topo-09; | draft-ietf-i2rs-yang-network-topo-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-network-topo-09 with RFC | draft-ietf-i2rs-yang-network-topo-10 with RFC | |||
number when published (i.e. RFC xxxx)."; | number when published (i.e. RFC xxxx)."; | |||
revision 2016-11-30 { | revision 2017-01-03 { | |||
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-network-topo-09 with | to draft-ietf-i2rs-yang-network-topo-10 with | |||
RFC number when published (i.e. RFC xxxx)."; | RFC number when published (i.e. RFC xxxx)."; | |||
reference | reference | |||
"draft-ietf-i2rs-yang-network-topo-09"; | "draft-ietf-i2rs-yang-network-topo-10"; | |||
} | } | |||
typedef link-id { | typedef link-id { | |||
type inet:uri; | type inet:uri; | |||
description | description | |||
"An identifier for a link in a topology. | "An identifier for a link in a topology. | |||
The precise structure of the link-id | The precise structure of the link-id | |||
will be up to the implementation. | will be up to the implementation. | |||
The identifier SHOULD be chosen such that the same link in a | The identifier SHOULD be chosen such that the same link in a | |||
real network topology will always be identified through the | real network topology will always be identified through the | |||
skipping to change at page 25, line 50 ¶ | skipping to change at page 25, line 49 ¶ | |||
description | description | |||
"A network link connects a local (source) node and | "A network link connects a local (source) node and | |||
a remote (destination) node via a set of | a remote (destination) node via a set of | |||
the respective node's termination points. | the respective node's termination points. | |||
It is possible to have several links between the same | It is possible to have several links between the same | |||
source and destination nodes. Likewise, a link could | source and destination nodes. Likewise, a link could | |||
potentially be re-homed between termination points. | potentially be re-homed between termination points. | |||
Therefore, in order to ensure that we would always know | Therefore, in order to ensure that we would always know | |||
to distinguish between links, every link is identified by | to distinguish between links, every link is identified by | |||
a dedicated link identifier. Note that a link models a | a dedicated link identifier. Note that a link models a | |||
point-to-point link, not a multipoint link. | point-to-point link, not a multipoint link."; | |||
Layering dependencies on links in underlay topologies are | ||||
not represented, as the layering information of nodes and of | ||||
termination points is sufficient."; | ||||
container source { | container source { | |||
description | description | |||
"This container holds the logical source of a particular | "This container holds the logical source of a particular | |||
link."; | link."; | |||
leaf source-node { | leaf source-node { | |||
type leafref { | type leafref { | |||
path "../../../nd:node/nd:node-id"; | path "../../../nd:node/nd:node-id"; | |||
require-instance false; | require-instance false; | |||
} | } | |||
description | description | |||
skipping to change at page 29, line 28 ¶ | skipping to change at page 29, line 24 ¶ | |||
URI:urn:ietf:params:xml:ns:yang:ietf-network-topology | URI:urn:ietf:params:xml:ns:yang:ietf-network-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 modules in the "YANG | This document registers the following YANG modules in the "YANG | |||
Module Names" registry [RFC6020]: | Module Names" registry [RFC6020]: | |||
Name: ietf-network | Name: ietf-network | |||
Namespace: urn:ietf:params:xml:ns:yang:ietf-network | Namespace: urn:ietf:params:xml:ns:yang:ietf-network | |||
Prefix: nd | Prefix: nd | |||
Reference: draft-ietf-i2rs-yang-network-topo-09.txt (RFC form) | Reference: draft-ietf-i2rs-yang-network-topo-10.txt (RFC form) | |||
Name: ietf-network-topology | Name: ietf-network-topology | |||
Namespace: urn:ietf:params:xml:ns:yang:ietf-network-topology | Namespace: urn:ietf:params:xml:ns:yang:ietf-network-topology | |||
Prefix: lnk | Prefix: lnk | |||
Reference: draft-ietf-i2rs-yang-network-topo-09.txt (RFC form) | Reference: draft-ietf-i2rs-yang-network-topo-10.txt (RFC form) | |||
8. Security Considerations | 8. 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 31, line 20 ¶ | skipping to change at page 31, line 17 ¶ | |||
2012. | 2012. | |||
[RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, | [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, | |||
July 2013. | July 2013. | |||
[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. | |||
11.2. Informative References | 11.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] | [I-D.draft-ietf-i2rs-ephemeral-state] | |||
Haas, J. and S. Hares, "I2RS Ephemeral State | Haas, J. and S. Hares, "I2RS Ephemeral State | |||
Requirements", I-D draft-ietf-i2rs-ephemeral-state-22, | Requirements", I-D draft-ietf-i2rs-ephemeral-state-22, | |||
November 2016. | 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- | |||
03, November 2016. | 03, November 2016. | |||
skipping to change at page 32, line 14 ¶ | skipping to change at page 32, line 8 ¶ | |||
[RFC7952] Lhotka, L., "Defining and Using Metadata with YANG", | [RFC7952] Lhotka, L., "Defining and Using Metadata with YANG", | |||
RFC 7952, August 2016. | RFC 7952, August 2016. | |||
[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. | |||
Authors' Addresses | Authors' Addresses | |||
Alexander Clemm | Alexander Clemm | |||
Sympotech | Huawei | |||
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 | |||
End of changes. 31 change blocks. | ||||
38 lines changed or deleted | 29 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/ |