1 module openflow-augments {
\r
2 namespace "urn:opendaylight:openflow:augments";
\r
5 import ietf-inet-types {prefix inet;}
\r
6 import ietf-yang-types {prefix yang;}
\r
8 import openflow-types {prefix oft;}
\r
9 import openflow-protocol {prefix ofproto;}
\r
10 import openflow-action {prefix ofaction;}
\r
11 import openflow-instruction {prefix ofinstruction;}
\r
12 import openflow-extensible-match {prefix oxm;}
\r
15 revision "2013-10-02" {
\r
16 description "Initial model";
\r
18 // OFP_MATCH AUGMENTS
\r
19 augment "/oxm:oxm-container/oxm:match-entries" {
\r
25 augment "/oxm:oxm-container/oxm:match-entries" {
\r
31 augment "/oxm:oxm-container/oxm:match-entries" {
\r
37 augment "/oxm:oxm-container/oxm:match-entries" {
\r
39 type yang:mac-address;
\r
43 augment "/oxm:oxm-container/oxm:match-entries" {
\r
45 type oft:ether-type;
\r
49 augment "/oxm:oxm-container/oxm:match-entries" {
\r
55 augment "/oxm:oxm-container/oxm:match-entries" {
\r
61 augment "/oxm:oxm-container/oxm:match-entries" {
\r
67 augment "/oxm:oxm-container/oxm:match-entries" {
\r
73 augment "/oxm:oxm-container/oxm:match-entries" {
\r
74 leaf protocol-number {
\r
79 augment "/oxm:oxm-container/oxm:match-entries" {
\r
81 type inet:ipv4-prefix;
\r
85 augment "/oxm:oxm-container/oxm:match-entries" {
\r
87 type inet:port-number;
\r
91 augment "/oxm:oxm-container/oxm:match-entries" {
\r
97 augment "/oxm:oxm-container/oxm:match-entries" {
\r
103 augment "/oxm:oxm-container/oxm:match-entries" {
\r
109 augment "/oxm:oxm-container/oxm:match-entries" {
\r
111 type inet:ipv6-prefix;
\r
115 augment "/oxm:oxm-container/oxm:match-entries" {
\r
117 type inet:ipv6-flow-label;
\r
121 augment "/oxm:oxm-container/oxm:match-entries" {
\r
127 augment "/oxm:oxm-container/oxm:match-entries" {
\r
133 augment "/oxm:oxm-container/oxm:match-entries" {
\r
134 leaf ipv6-address {
\r
135 type inet:ipv6-address;
\r
139 augment "/oxm:oxm-container/oxm:match-entries" {
\r
145 augment "/oxm:oxm-container/oxm:match-entries" {
\r
151 augment "/oxm:oxm-container/oxm:match-entries" {
\r
157 augment "/oxm:oxm-container/oxm:match-entries" {
\r
163 augment "/oxm:oxm-container/oxm:match-entries" {
\r
164 leaf pseudo-field {
\r
167 description "<No next header> encountered.";
\r
171 description "Encrypted Sec Payload header present.";
\r
175 description "Authentication header present.";
\r
179 description "1 or 2 dest headers present.";
\r
183 description "Fragment header present.";
\r
187 description "Router header present.";
\r
191 description "Hop-by-hop header present.";
\r
195 description "Unexpected repeats encountered.";
\r
199 description "Unexpected sequencing encountered.";
\r
206 // OFP_ACTION AUGMENTS
\r
207 augment "/ofaction:actions" {
\r
209 type oft:any-port-number;
\r
213 augment "/ofaction:actions" {
\r
215 description "Maximum packet length to be send to controller.";
\r
218 range "0..65294"; // 0..0xff0e
\r
223 "maximum max_len value which can be used
\r
224 to request a specific byte length";
\r
225 value 65509; //0xffe5
\r
229 "indicates that no buffering should be
\r
230 applied and the whole packet is to be
\r
231 sent to the controller";
\r
232 value 65535; //0xffff
\r
239 augment "/ofaction:actions" {
\r
245 augment "/ofaction:actions" {
\r
247 type oft:ether-type;
\r
251 augment "/ofaction:actions" {
\r
257 augment "/ofaction:actions" {
\r
263 augment "/ofaction:actions" {
\r
269 augment "/ofaction:actions" {
\r
270 uses oxm:oxm-fields;
\r
273 augment "/ofaction:actions" {
\r
274 leaf experimenter {
\r
279 // OFP_TABLE_FEATURES_PROPERTIES AUGMENTS
\r
280 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
281 list instruction-ids {
\r
282 uses ofinstruction:instructions;
\r
286 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
287 list next-table-ids {
\r
294 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
296 uses ofaction:action-header;
\r
300 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
302 uses oxm:oxm-fields;
\r
306 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
307 leaf experimenter {
\r
318 // OFP_INSTRUCTION AUGMENTS
\r
319 augment "/ofinstruction:instruction" {
\r
325 augment "/ofinstruction:instruction" {
\r
329 leaf metadata-mask {
\r
334 augment "/ofinstruction:instruction" {
\r
336 uses ofaction:action-header;
\r
340 augment "/ofinstruction:instruction" {
\r
346 augment "/ofinstruction:instruction" {
\r
347 leaf experimenter {
\r