+++ /dev/null
-module ietf-network {
- yang-version 1;
- namespace "urn:ietf:params:xml:ns:yang:ietf-network";
- prefix nd;
-
- import ietf-inet-types {
- prefix inet;
- }
-
- organization "TBD";
- contact
- "WILL-BE-DEFINED-LATER";
- description
- "This module defines a common base model for a collection
- of nodes in a network. Node definitions s are further used
- in network topologies and inventories.";
-
- revision 2015-06-08 {
- description
- "Initial revision.";
- reference "draft-ietf-i2rs-yang-network-topo-01";
- }
-
- typedef node-id {
- type inet:uri;
- description
- "Identifier for a node.";
- }
-
- typedef network-id {
- type inet:uri;
- description
- "Identifier for a network.";
- }
-
- grouping network-ref {
- description
- "Contains the information necessary to reference a network,
- for example an underlay network.";
- leaf network-ref {
- type leafref {
- path "/network/network-id";
- }
- description
- "Used to reference a network, for example an underlay
- network.";
- }
- }
-
- grouping node-ref {
- description
- "Contains the information necessary to reference a node.";
- leaf node-ref {
- type leafref {
- path "/network[network-id=current()/../network-ref]"+
- "/node/node-id";
- }
- description
- "Used to reference a node.
- Nodes are identified relative to the network they are
- contained in.";
- }
- uses network-ref;
- }
-
- list network {
- key "network-id";
- description
- "Describes a network.
- A network typically contains an inventory of nodes,
- topological information (augmented through
- network-topology model), as well as layering
- information.";
- container network-types {
- description
- "Serves as an augmentation target.
- The network type is indicated through corresponding
- presence containers augmented into this container.";
- }
- leaf network-id {
- type network-id;
- description
- "Identifies a network.";
- }
- leaf server-provided {
- type boolean;
- config false;
- description
- "Indicates whether the information concerning this
- particular network is populated by the server
- (server-provided true, the general case for network
- information discovered from the server),
- or whether it is configured by a client
- (server-provided true, possible e.g. for
- service overlays managed through a controller).";
- }
- list supporting-network {
- key "network-ref";
- description
- "An underlay network, used to represent layered network
- topologies.";
- leaf network-ref {
- type leafref {
- path "/network/network-id";
- }
- description
- "References the underlay network.";
- }
- }
- list node {
- key "node-id";
- description
- "The inventory of nodes of this network.";
- leaf node-id {
- type node-id;
- description
- "Identifies a node uniquely within the containing
- network.";
- }
- list supporting-node {
- key "network-ref node-ref";
- description
- "Represents another node, in an underlay network, that
- this node is supported by. Used to represent layering
- structure.";
- leaf network-ref {
- type leafref {
- path "../../../supporting-network/network-ref";
- }
- description
- "References the underlay network that the
- underlay node is part of.";
- }
- leaf node-ref {
- type leafref {
- path "/network/node/node-id";
- }
- description
- "References the underlay node itself.";
- }
- }
- }
- }
-}