2 namespace "urn:opendaylight:flow:service";
5 import yang-ext {prefix ext; revision-date "2013-07-09";}
6 import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
7 import opendaylight-flow-types {prefix types;revision-date "2013-10-26";}
8 import opendaylight-group-types {prefix group-type;revision-date "2013-10-18";}
9 import opendaylight-meter-types {prefix meter-type;revision-date "2013-09-18";}
10 import flow-capable-transaction {prefix tr; revision-date "2015-03-04";}
11 import flow-errors {prefix error; revision-date "2013-11-16";}
13 description "Openflow flow management.";
15 revision "2013-08-19" {
16 description "Initial revision of flow service";
19 typedef flow-table-ref {
20 description "Openflow table identifier";
21 type instance-identifier;
24 grouping node-flow-removed {
25 description "Flow removed message structure.";
27 // TODO:: replace with inv:node-context-ref
28 ext:context-reference "inv:node-context";
34 uses types:flow-mod-removed;
38 description "Top openflow flow structure suitable for rpc input (contains node-context).";
39 uses "inv:node-context-ref";
47 grouping base-node-error-notification {
48 description "Openflow error message general structure.";
51 ext:context-reference "inv:node-context";
56 grouping node-error-reference {
57 description "Error message binding - to which source type the error belongs.";
58 choice object-reference {
66 type group-type:group-ref;
71 type meter-type:meter-ref;
77 grouping flow-update {
78 description "DataStore aware flow update structure suitable for rpc input (contains node-context).";
79 uses "inv:node-context-ref";
81 container original-flow {
84 container updated-flow {
90 description "Adding flow to openflow device.";
92 uses tr:transaction-metadata;
99 uses tr:transaction-aware;
104 description "Removing flow from openflow device.";
106 uses tr:transaction-metadata;
113 uses tr:transaction-aware;
118 description "Updating flow on openflow device.";
120 uses tr:transaction-metadata;
127 uses tr:transaction-aware;
131 notification flow-added {
134 uses tr:transaction-metadata;
139 uses tr:transaction-aware;
142 notification flow-updated {
145 uses tr:transaction-metadata;
150 uses tr:transaction-aware;
153 notification flow-removed {
156 uses tr:transaction-metadata;
161 uses tr:transaction-aware;
164 notification switch-flow-removed {
167 uses node-flow-removed;
170 notification node-error-notification {
173 uses error:error-message;
174 uses tr:transaction-aware;
175 uses tr:transaction-metadata;
176 uses node-error-reference;
177 uses base-node-error-notification;
180 notification node-experimenter-error-notification {
183 uses error:experimenter-error-message;
184 uses tr:transaction-aware;