3 namespace "urn:opendaylight:params:xml:ns:yang:ovsdb";
6 import network-topology {prefix "topo"; revision-date "2013-10-21"; }
7 import yang-ext { prefix "ext"; }
8 import ietf-inet-types { prefix inet; }
9 import overlay { prefix overlay; }
10 import ietf-yang-types { prefix yang; revision-date "2013-07-15";}
12 revision "2015-01-05" {
13 description "Initial revision of southbound model";
16 typedef ovsdb-bridge-ref {
17 description "A reference to an ovsdb bridge";
18 type instance-identifier;
21 typedef ovsdb-node-ref {
22 description "A reference to an ovsdb node";
23 type instance-identifier;
26 typedef flow-node-ref {
27 description "A reference to a flow node";
28 type instance-identifier;
31 typedef ovsdb-bridge-name {
38 '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){7}';
41 "The datapath-d type represents OpenFlow datapath-id .
42 The canonical representation uses lowercase characters.
44 In the value set and its semantics, this type is similar
45 to the MacAddress textual convention of the SMIv2, but with
49 IEEE 802: IEEE Standard for Local and Metropolitan Area
50 Networks: Overview and Architecture
51 RFC 2579: Textual Conventions for SMIv2";
54 identity datapath-type-base {
55 description "Base identity for all OVSDB datapath types";
58 identity datapath-type-system {
59 description "Datapath type for the kernel datapath";
60 base datapath-type-base;
63 identity datapath-type-netdev {
64 description "Datapath type for the userspace datapath";
65 base datapath-type-base;
68 identity ovsdb-bridge-protocol-base {
69 description "Base identity for all ovsdb-bridge-protocols";
72 identity ovsdb-bridge-protocol-openflow-10 {
73 description "Ovsdb bridge protocol OpenFlow 1.0";
74 base ovsdb-bridge-protocol-base;
77 identity ovsdb-bridge-protocol-openflow-11 {
78 description "Ovsdb bridge protocol OpenFlow 1.1";
79 base ovsdb-bridge-protocol-base;
82 identity ovsdb-bridge-protocol-openflow-12 {
83 description "Ovsdb bridge protocol OpenFlow 1.2";
84 base ovsdb-bridge-protocol-base;
87 identity ovsdb-bridge-protocol-openflow-13 {
88 description "Ovsdb bridge protocol OpenFlow 1.3";
89 base ovsdb-bridge-protocol-base;
92 identity ovsdb-bridge-protocol-openflow-14 {
93 description "Ovsdb bridge protocol OpenFlow 1.4";
94 base ovsdb-bridge-protocol-base;
97 identity ovsdb-bridge-protocol-openflow-15 {
98 description "Ovsdb bridge protocol OpenFlow 1.5";
99 base ovsdb-bridge-protocol-base;
102 identity ovsdb-fail-mode-base {
103 description "Base identity for ovsdb-failmode";
106 identity ovsdb-fail-mode-standalone {
107 description "Identity for ovsdb-failmode standalone";
108 base ovsdb-fail-mode-base;
111 identity ovsdb-fail-mode-secure {
112 definition "Identity for ovsdb-failmode standalone";
113 base ovsdb-fail-mode-base;
116 grouping ovsdb-bridge-attributes {
118 description "The unique identifier of the bridge";
123 description "The name of the bridge";
124 type ovsdb-bridge-name;
126 list protocol-entry {
129 description "Protocol bridge should seek to speak to its controller";
131 base ovsdb-bridge-protocol-base;
136 list controller-entry {
137 description "Bridge controller info";
140 description "Uri telling bridge how to connect to controller";
146 description "Datapath-id of the bridge";
151 description "The datapath type of the bridge";
153 base datapath-type-base;
158 description "Failmode of the bridge";
160 base ovsdb-fail-mode-base;
165 description "Flow node corresponding to this bridge";
170 description "The OVSDB which this bridge belongs to";
175 grouping ovsdb-node-attributes {
176 uses overlay:ip-port-locator;
178 list managed-node-entry {
181 type ovsdb-bridge-ref;
185 list datapath-type-entry {
188 description "Datapath types supported by OVSDB node";
190 base datapath-type-base;
195 list interface-type-entry {
196 key "interface-type";
197 leaf interface-type {
198 description "Interface types supported by OVSDB node";
200 base interface-type-base;
208 identity interface-type-base {
209 description "Base identity for all OVSDB interface types";
212 identity interface-type-system {
213 description "Interface type for system interfaces";
214 base interface-type-base;
217 identity interface-type-internal {
218 description "Interface type for internal interfaces";
219 base interface-type-base;
222 identity interface-type-vxlan {
223 description "Interface type for vxlan interfaces";
224 base interface-type-base;
227 identity interface-type-patch {
228 description "Interface type for patch interfaces";
229 base interface-type-base;
232 identity interface-type-tap {
233 description "Interface type for tun/tap interfaces";
234 base interface-type-base;
237 identity interface-type-geneve {
238 description "Interface type for geneve interfaces";
239 base interface-type-base;
242 identity interface-type-gre {
243 description "Interface type for gre interfaces";
244 base interface-type-base;
247 identity interface-type-ipsec-gre {
248 description "Interface type for ipsec-gre interfaces";
249 base interface-type-base;
252 identity interface-type-gre64 {
253 description "Interface type for gre64 interfaces";
254 base interface-type-base;
257 identity interface-type-ipsec-gre64 {
258 description "Interface type for ipsec-gre64 interfaces";
259 base interface-type-base;
262 identity interface-type-lisp {
263 description "Interface type for lisp interfaces";
264 base interface-type-base;
267 identity interface-type-dpdk {
268 description "Interface type for dpdk interfaces";
269 base interface-type-base;
272 identity interface-type-dpdkr {
273 description "Interface type for dpdk ring interfaces";
274 base interface-type-base;
277 identity interface-type-dpdkvhost {
278 description "Interface type for dpdkvhost interfaces";
279 base interface-type-base;
282 grouping ovsdb-port-interface-attributes {
284 description "The unique identifier of the OVSDB port";
288 leaf interface-uuid {
289 description "The unique identifier of the OVSDB interface";
294 description "The name of the OVSDB port/interface";
298 leaf interface-type {
299 description "The type of the OVSDB interface";
301 base interface-type-base;
306 augment "/topo:network-topology/topo:topology/topo:node" {
307 description "Augmentation for bridge nodes managed by ovsdb";
308 ext:augment-identifier "ovsdb-bridge-augmentation";
309 uses ovsdb-bridge-attributes;
312 augment "/topo:network-topology/topo:topology/topo:node" {
313 description "Augment topology node for an ovsdb node";
314 ext:augment-identifier "ovsdb-node-augmentation";
315 uses ovsdb-node-attributes;
318 augment "/topo:network-topology/topo:topology/topo:node/topo:termination-point" {
319 description "Augment topology node termination-point for an ovsdb port/interface";
320 ext:augment-identifier "ovsdb-termination-point-augmentation";
321 uses ovsdb-port-interface-attributes;