3 namespace "urn:opendaylight:params:xml:ns:yang:overlay";
6 import network-topology {prefix "topo"; revision-date "2013-10-21"; }
7 import yang-ext { prefix "ext"; }
8 import ietf-inet-types { prefix inet; }
10 revision "2015-01-05" {
11 description "Initial revision of overlay model";
15 identity tunnel-type-base {
16 description "Base identity for all tunnel-types";
19 identity tunnel-type-vxlan {
20 description "Tunnel type for vxlan tunnels";
21 base tunnel-type-base;
24 identity tunnel-type-vxlan-gpe {
25 description "Tunnel type for vxlan tunnels";
26 base tunnel-type-base;
29 identity tunnel-type-gre {
30 description "Tunnel type for gre tunnels";
31 base tunnel-type-base;
34 grouping ip-port-locator {
36 "Data plane-locator: IP address and L4 port";
39 description "Data-plane IP address";
42 type inet:port-number;
43 description "Data-plane port number";
47 grouping tunnel-type-attributes {
48 description "Common leaf for expressing tunnel-type";
51 base tunnel-type-base;
56 augment "/topo:network-topology/topo:topology/topo:node" {
57 description "Augment topology node with a list of supported-tunnel-entries";
58 ext:augment-identifier "supported-tunnels";
59 list supported-tunnel-entry {
60 uses tunnel-type-attributes;
64 augment "/topo:network-topology/topo:topology/topo:node/supported-tunnel-entry" {
65 description "Augment additional tunnel-parameters into the supported-tunnel-entry list";
66 ext:augment-identifier "supported-tunnels-parameters";
67 when "./tunnel-type = 'tunnel-type-gre' or
68 ./tunnel-type = 'tunnel-type-vxlan' or
69 ./tunnel-type = 'tunnel-type-vxlan-gre'" {
70 description "Augment tunnel types that use ip-port as tunnnel parameters";
72 list ip-port-locator-entry {
77 augment "/topo:network-topology/topo:topology/topo:link" {
78 description "Type of link tunnel";
79 ext:augment-identifier "tunnel";
80 uses tunnel-type-attributes;
83 augment "/topo:network-topology/topo:topology/topo:link/topo:source" {
84 description "ip-port-locator for the source end of a tunnel link";
85 ext:augment-identifier "tunnel-source-parameters";
86 when "../tunnel-type = 'tunnel-type-gre' or
87 ../tunnel-type = 'tunnel-type-vxlan' or
88 ../tunnel-type = 'tunnel-type-vxlan-gre'" {
89 description "Augment tunnel types that use ip-port as tunnnel parameters";
94 augment "/topo:network-topology/topo:topology/topo:link/topo:destination" {
95 description "ip-port-locator for the source end of a tunnel link";
96 ext:augment-identifier "tunnel-dest-parameters";
97 when "../tunnel-type = 'tunnel-type-gre' or
98 ../tunnel-type = 'tunnel-type-vxlan' or
99 ../tunnel-type = 'tunnel-type-vxlan-gre'" {
100 description "Augment tunnel types that use ip-port as tunnnel parameters";
102 uses ip-port-locator;
105 identity topology-type-base {
106 description "Base identity for all topology-types";
109 identity topology-type-overlay {
110 description "Marker to indicate a topology is of type overlay";
111 base topology-type-base;
114 grouping topology-type-attributes {
115 description "Attributed to indicate the topology type";
118 base topology-type-base;
123 augment "/topo:network-topology/topo:topology/" {
124 description "Mark type of topology";
125 ext:augment-identifier "topology-type";
126 uses topology-type-attributes;