2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 module abstract-topology {
10 namespace "urn:model:abstract:topology";
13 import ietf-inet-types {
15 revision-date 2010-09-24;
18 import ietf-interfaces {
20 revision-date 2012-11-15;
24 contact "WILL-BE-DEFINED-LATER";
27 "This module contains the definitions of elements that creates network
28 topology i.e. definition of network nodes and links. This module is not designed to be used solely for network representation. This module SHOULD be used as base module in defining the network topology.";
30 revision "2013-02-08" {
31 reference "~~~ WILL BE DEFINED LATER";
34 revision "2013-01-01" {
35 reference "~~~ WILL BE DEFINED LATER";
40 path "/tp:topology/tp:network-nodes/tp:network-node/tp:node-id";
42 description "This type is used for leafs that reference network node instance.";
47 path "/tp:topology/tp:network-links/tp:network-link/tp:link-id";
49 description "This type is used for leafs that reference network link instance.";
52 typedef interface-id-ref {
54 path "/tp:topology/tp:interfaces/tp:interface/tp:interface-id";
59 description "This is the model of abstract topology which contains only Network Nodes and Network Links. Each topology MUST be identified by unique topology-id for reason that the store could contain many topologies.";
63 description "It is presumed that datastore will contain many topologies. To distinguish between topologies it is vital to have
64 UNIQUE topology identifier.";
67 container network-nodes {
73 description "The Topology identifier of network-node.";
76 container attributes {
77 description "Aditional attributes that can Network Node contains.";
79 description "The list of network nodes defined for topology.";
83 container interfaces {
89 path "/if:interfaces/if:interface/if:name";
93 leaf-list higher-layer-if {
95 path "/if:interfaces/if:interface/if:higher-layer-if";
101 container network-links {
110 container source-node {
113 description "Source node identifier.";
117 container destination-node {
120 description "Destination node identifier.";
130 path "../../../link-id";
137 type interface-id-ref;
140 container attributes {
141 description "Aditional attributes that can Network Link contains.";
143 description "The Network Link which is defined by Local (Source) and Remote (Destination) Network Nodes. Every link MUST be defined either by identifier and
144 his local and remote Network Nodes (In real applications it is common that many links are originated from one node and end up in same remote node). To ensure that we would always know to distinguish between links, every link SHOULD have identifier.";
149 identity crypto-base {
150 description "crypto-base description";
153 identity crypto-alg {
155 description "crypto-alg description";