A YANG Data Model for Network Topologies
draft-clemm-i2rs-yang-network-topo-01
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
|
|
---|---|---|---|
Authors | Alexander Clemm , Jan Medved , Tony Tkacik , Robert Varga , Nitin Bahadur , Hariharan Ananthakrishnan | ||
Last updated | 2014-10-10 | ||
Replaces | draft-clemm-netmod-yang-network-topo | ||
Replaced by | draft-ietf-i2rs-yang-network-topo, RFC 8345 | ||
RFC stream | (None) | ||
Formats | |||
Additional resources | |||
Stream | Stream state | (No stream defined) | |
Consensus boilerplate | Unknown | ||
RFC Editor Note | (None) | ||
IESG | IESG state | I-D Exists | |
Telechat date | (None) | ||
Responsible AD | (None) | ||
Send notices to | (None) |
draft-clemm-i2rs-yang-network-topo-01
quot;; leaf topo-ref { type leafref { path "/network-topology/topology/topology-id"; } description "This leaf identifies a topology which is forms a part of this topology's underlay. Reference loops, where a topology identifies itself as its underlay, either directly or transitively, are not allowed."; } description "Identifies the topology, or topologies, that this topology is dependent on."; } list node { key "node-id"; Clemm, et al. Expires April 13, 2015 [Page 12] Internet-Draft draft-clemm-i2rs-yang-network-topo-01.txt October 2014 leaf node-id { type node-id; description "The identifier of a node in the topology. A node is specific to a topology to which it belongs."; } description "The list of network nodes defined for the topology."; list termination-point { key "tp-id"; description "A termination point can terminate a link. Depending on the type of topology, a termination point could, for example, refer to a port or an interface."; leaf tp-id { type tp-id; description "Termination point identifier."; } list supporting-termination-point { key "topo-ref node-ref tp-ref"; description "The leaf list identifies any termination points that the termination point is dependent on, or maps onto. Those termination points will themselves be contained in a supporting node. This dependency information can be inferred from the dependencies between links. For this reason, this item is not separately configurable. Hence no corresponding constraint needs to be articulated. The corresponding information is simply provided by the implementing system."; leaf topo-ref { type leafref { path "../../../supporting-node/topo-ref"; } description "This leaf identifies in which topology the supporting termination point is present."; } leaf node-ref { type leafref { path "../../../supporting-node/node-ref"; } description "This leaf identifies in which node the supporting termination point is present."; } Clemm, et al. Expires April 13, 2015 [Page 13] Internet-Draft draft-clemm-i2rs-yang-network-topo-01.txt October 2014 leaf tp-ref { type leafref { path "/network-topology/topology[topology-id=current()"+ "/../topo-ref]/node[node-id=current()" + "/../node-ref]/termination-point/tp-id"; } description "Reference to the underlay node, must be in a different topology"; } } } list supporting-node { key "topo-ref node-ref"; description "This list defines vertical layering information for nodes. It allows to capture for any given node, which node (or nodes) in the corresponding underlay topology it maps onto. A node can map to zero, one, or more nodes below it; accordingly there can be zero, one, or more elements in the list. If there are specific layering requirements, for example specific to a particular type of topology that only allows for certain layering relationships, the choice below can be augmented with additional cases. A list has been chosen rather than a leaf-list in order to provide room for augmentations, e.g. for statistics or priorization information associated with supporting nodes."; leaf topo-ref { type leafref { path "../../../supporting-topology/topo-ref"; } description "This leaf identifies in which underlay topology supporting node is present."; } leaf node-ref { type leafref { path "/network-topology/topology[topology-id=current()" + "/../topo-ref]/node/node-id"; } description "Reference to the underlay node, must be in a different topology"; } Clemm, et al. Expires April 13, 2015 [Page 14] Internet-Draft draft-clemm-i2rs-yang-network-topo-01.txt October 2014 } } list link { key "link-id"; leaf link-id { type link-id; description "The identifier of a link in the topology. A link is specific to a topology to which it belongs."; } description "A Network Link connects a by Local (Source) node and a Remote (Destination) Network Nodes via a set of the nodes' termination points. As it is possible to have several links between the same source and destination nodes, and as a link could potentially be re-homed between termination points, to ensure that we would always know to distinguish between links, every link is identified by a dedicated link identifier. Note that a link models a 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 { description "This container holds the logical source of a particular link."; leaf source-node { type leafref { path "../../../node/node-id"; } mandatory true; description "Source node identifier, must be in same topology."; } leaf source-tp { type leafref { path "../../../node[node-id=current()/../source-node]" + "/termination-point/tp-id"; } description "Termination point within source node that terminates the link."; } } container destination { Clemm, et al. Expires April 13, 2015 [Page 15] Internet-Draft draft-clemm-i2rs-yang-network-topo-01.txt October 2014 description "This container holds the logical destination of a particular link."; leaf dest-node { type leafref { path "../../../node/node-id"; } mandatory true; description "Destination node identifier, must be in the same topology."; } leaf dest-tp { type leafref { path "../../../node[node-id=current()/../dest-node]" + "/termination-point/tp-id"; } description "Termination point within destination node that terminates the link."; } } list supporting-link { key "topo-ref link-ref"; description "Identifies the link, or links, that this link is dependent on."; leaf topo-ref { type leafref { path "../../../supporting-topology/topo-ref"; } description "This leaf identifies in which underlay topology supporting link is present."; } leaf link-ref { type leafref { path "/network-topology/topology[topology-id=current()" + "/../topo-ref]/link/link-id"; } description "This leaf identifies a link which is forms a part of this link's underlay. Reference loops, where a link identifies itself as its underlay, either directly or transitively, are not allowed."; } } } Clemm, et al. Expires April 13, 2015 [Page 16] Internet-Draft draft-clemm-i2rs-yang-network-topo-01.txt October 2014 } } } <CODE ENDS> 5. Security Considerations The transport protocol used for sending the topology data MUST support authentication and SHOULD support encryption. The data-model by itself does not create any security implications. 6. Contributors The model presented in this paper was contributed to by more people than can be listed on the author list. Additional contributors include: o Ken Gray, Cisco Systems o Tom Nadeau, Brocade o Aleksandr Zhdankin, Cisco 7. Acknowledgements We wish to acknowledge the helpful contributions, comments, and suggestions that were received from Martin Bjorklund, Ladislav Lhotka, Andy Bierman, Carlos Pignataro, Juergen Schoenwaelder, Alia Atlas and Benoit Claise. 8. References 8.1. Normative References [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, December 1990. [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998. [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, December 2001. [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, October 2010. Clemm, et al. Expires April 13, 2015 [Page 17] Internet-Draft draft-clemm-i2rs-yang-network-topo-01.txt October 2014 [RFC6021] Schoenwaelder, J., "Common YANG Data Types", RFC 6021, October 2010. [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. Bierman, "Network Configuration Protocol (NETCONF)", RFC 6241, June 2011. 8.2. Informative References [I-D.ietf-netconf-restconf] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", draft-ietf-netconf-restconf-02 (work in progress), October 2014. [I-D.ietf-netmod-yang-json] Lhotka, L., "JSON Encoding of Data Modeled with YANG", draft-ietf-netmod-yang-json-00 (work in progress), April 2014. [RFC7223] Bjorklund, M., "A YANG Data Model for Interface Management", RFC 7223, May 2014. [topology-use-cases] Medved, J., Previdi, S., Lopez, V., and S. Amante, "Topology API Use Cases", I-D draft-amante-i2rs-topology- use-cases-01, October 2013. Authors' Addresses Alexander Clemm Cisco EMail: alex@cisco.com Jan Medved Cisco EMail: jmedved@cisco.com Tony Tkacik Cisco EMail: ttkacik@cisco.com Clemm, et al. Expires April 13, 2015 [Page 18] Internet-Draft draft-clemm-i2rs-yang-network-topo-01.txt October 2014 Robert Varga Cisco EMail: rovarga@cisco.com Nitin Bahadur Bracket Computing EMail: nitin_bahadur@yahoo.com Hariharan Ananthakrishnan Packet Design EMail: hanantha@juniper.net Clemm, et al. Expires April 13, 2015 [Page 19]