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
21 type oft:port-number;
\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-container/ofaction:action" {
\r
209 type oft:any-port-number;
\r
213 augment "/ofaction:actions-container/ofaction:action" {
\r
219 augment "/ofaction:actions-container/ofaction:action" {
\r
225 augment "/ofaction:actions-container/ofaction:action" {
\r
227 type oft:ether-type;
\r
231 augment "/ofaction:actions-container/ofaction:action" {
\r
237 augment "/ofaction:actions-container/ofaction:action" {
\r
243 augment "/ofaction:actions-container/ofaction:action" {
\r
249 augment "/ofaction:actions-container/ofaction:action" {
\r
250 uses oxm:oxm-fields;
\r
253 augment "/ofaction:actions-container/ofaction:action" {
\r
254 leaf experimenter {
\r
259 // OFP_TABLE_FEATURES_PROPERTIES AUGMENTS
\r
260 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
261 list instruction-ids {
\r
262 uses ofinstruction:instructions;
\r
266 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
267 list next-table-ids {
\r
274 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
276 uses ofaction:action-header;
\r
280 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
282 uses oxm:oxm-fields;
\r
286 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
287 leaf experimenter {
\r
298 // OFP_INSTRUCTION AUGMENTS
\r
299 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
305 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
309 leaf metadata-mask {
\r
314 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
316 uses ofaction:action-header;
\r
320 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
326 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
327 leaf experimenter {
\r