Yang changes for OF Tunnels
[genius.git] / itm / itm-api / src / main / yang / itm.yang
1 module itm {
2     namespace "urn:opendaylight:genius:itm";
3
4     prefix "itm";
5
6     import ietf-interfaces {
7         prefix if;
8     }
9     import ietf-yang-types {
10         prefix yang;
11     }
12     import ietf-inet-types {
13         prefix inet;
14         revision-date "2013-07-15";
15     }
16     
17     import odl-interface {
18         prefix odlif;
19     }
20     
21     
22     import config { prefix config; revision-date 2013-04-05; }
23
24     revision "2016-04-06" {
25         description "ODL Internal Transport Module";
26     }
27
28     /* Configuration data */
29
30     container transport-zones {
31           list transport-zone {
32           ordered-by user;
33             key zone-name;
34             leaf zone-name {
35                 type string;
36                 mandatory true;
37             }
38             leaf tunnel-type {
39                 type identityref {
40                     base odlif:tunnel-type-base;
41                 }
42                 mandatory true;
43             }
44
45             list subnets {
46                 key "prefix";
47                 leaf prefix {
48                     type inet:ip-prefix;
49                 }
50                 leaf gateway-ip {
51                     type inet:ip-address;
52                 }
53                 leaf vlan-id {
54                     type uint16{
55                     range "0..4094";
56                 }
57                 }
58                 list vteps {
59                     key "dpn-id portname";
60                     leaf dpn-id {
61                         type uint64;
62                     }
63                     leaf portname {
64                         type string;
65                     }
66                     leaf ip-address {
67                         type inet:ip-address;
68                     }
69                     leaf option-of-tunnel {
70                         description "Use flow based tunnels for remote-ip";
71                         type boolean;
72                         default false;
73                     }
74                 }
75                  list device-vteps {
76                   key "node-id ip-address";
77                          leaf topology-id {
78                             type string;
79                          }
80                          leaf node-id {
81                            type string;
82                          }
83                          leaf ip-address {
84                          type inet:ip-address;
85                        }
86                }
87
88             }
89           }
90         }
91         identity itm {
92             base "config:service-type";
93             config:java-class "org.opendaylight.genius.itm.api.IITMProvider";
94         }
95
96
97     container dc-gateway-ip-list{
98         list dc-gateway-ip{
99             key "ip-address";
100             leaf ip-address{
101                 type inet:ip-address;
102             }
103             leaf tunnnel-type{
104                 type identityref {
105                     base odlif:tunnel-type-base;
106                 }
107             }
108         }
109     }
110 }