1 module openflow-augments {
\r
2 namespace "urn:opendaylight:openflow:augments";
\r
5 import yang-ext {prefix ext;}
\r
6 import ietf-inet-types {prefix inet;}
\r
7 import ietf-yang-types {prefix yang;}
\r
9 import openflow-types {prefix oft;}
\r
10 import openflow-protocol {prefix ofproto;}
\r
11 import openflow-action {prefix ofaction;}
\r
12 import openflow-instruction {prefix ofinstruction;}
\r
13 import openflow-extensible-match {prefix oxm;}
\r
15 revision "2013-10-02" {
\r
16 description "OpenFlow 1.3 - augments model";
\r
19 // OFP_MATCH AUGMENTS
\r
20 augment "/oxm:oxm-container/oxm:match-entries" {
\r
21 ext:augment-identifier "port-number-match-entry";
\r
23 type oft:port-number;
\r
26 augment "/oxm:oxm-container/oxm:match-entries" {
\r
27 ext:augment-identifier "metadata-match-entry";
\r
32 augment "/oxm:oxm-container/oxm:match-entries" {
\r
33 ext:augment-identifier "mask-match-entry";
\r
38 augment "/oxm:oxm-container/oxm:match-entries" {
\r
39 ext:augment-identifier "mac-address-match-entry";
\r
41 type yang:mac-address;
\r
44 augment "/oxm:oxm-container/oxm:match-entries" {
\r
45 ext:augment-identifier "eth-type-match-entry";
\r
47 type oft:ether-type;
\r
50 augment "/oxm:oxm-container/oxm:match-entries" {
\r
51 ext:augment-identifier "vlan-vid-match-entry";
\r
56 augment "/oxm:oxm-container/oxm:match-entries" {
\r
57 ext:augment-identifier "vlan-pcp-match-entry";
\r
62 augment "/oxm:oxm-container/oxm:match-entries" {
\r
63 ext:augment-identifier "dscp-match-entry";
\r
68 augment "/oxm:oxm-container/oxm:match-entries" {
\r
69 ext:augment-identifier "ecn-match-entry";
\r
74 augment "/oxm:oxm-container/oxm:match-entries" {
\r
75 ext:augment-identifier "protocol-number-match-entry";
\r
76 leaf protocol-number {
\r
80 augment "/oxm:oxm-container/oxm:match-entries" {
\r
81 ext:augment-identifier "ipv4-prefix-match-entry";
\r
83 type inet:ipv4-prefix;
\r
86 augment "/oxm:oxm-container/oxm:match-entries" {
\r
87 ext:augment-identifier "port-match-entry";
\r
89 type inet:port-number;
\r
92 augment "/oxm:oxm-container/oxm:match-entries" {
\r
93 ext:augment-identifier "icmpv4-type-match-entry";
\r
98 augment "/oxm:oxm-container/oxm:match-entries" {
\r
99 ext:augment-identifier "icmpv4-code-match-entry";
\r
104 augment "/oxm:oxm-container/oxm:match-entries" {
\r
105 ext:augment-identifier "op-code-match-entry";
\r
110 augment "/oxm:oxm-container/oxm:match-entries" {
\r
111 ext:augment-identifier "ipv6-prefix-match-entry";
\r
113 type inet:ipv6-prefix;
\r
116 augment "/oxm:oxm-container/oxm:match-entries" {
\r
117 ext:augment-identifier "ipv6-flabel-match-entry";
\r
119 type inet:ipv6-flow-label;
\r
122 augment "/oxm:oxm-container/oxm:match-entries" {
\r
123 ext:augment-identifier "icmpv6-type-match-entry";
\r
128 augment "/oxm:oxm-container/oxm:match-entries" {
\r
129 ext:augment-identifier "icmpv6-code-match-entry";
\r
134 augment "/oxm:oxm-container/oxm:match-entries" {
\r
135 ext:augment-identifier "ipv6-address-match-entry";
\r
136 leaf ipv6-address {
\r
137 type inet:ipv6-address;
\r
140 augment "/oxm:oxm-container/oxm:match-entries" {
\r
141 ext:augment-identifier "mpls-label-match-entry";
\r
146 augment "/oxm:oxm-container/oxm:match-entries" {
\r
147 ext:augment-identifier "tc-match-entry";
\r
152 augment "/oxm:oxm-container/oxm:match-entries" {
\r
153 ext:augment-identifier "bos-match-entry";
\r
158 augment "/oxm:oxm-container/oxm:match-entries" {
\r
159 ext:augment-identifier "isid-match-entry";
\r
164 augment "/oxm:oxm-container/oxm:match-entries" {
\r
165 ext:augment-identifier "pseudo-field-match-entry";
\r
166 leaf pseudo-field {
\r
169 description "<No next header> encountered.";
\r
173 description "Encrypted Sec Payload header present.";
\r
177 description "Authentication header present.";
\r
181 description "1 or 2 dest headers present.";
\r
185 description "Fragment header present.";
\r
189 description "Router header present.";
\r
193 description "Hop-by-hop header present.";
\r
197 description "Unexpected repeats encountered.";
\r
201 description "Unexpected sequencing encountered.";
\r
208 // OFP_ACTION AUGMENTS
\r
209 augment "/ofaction:actions-container/ofaction:action" {
\r
210 ext:augment-identifier "port-action";
\r
212 type oft:any-port-number;
\r
215 augment "/ofaction:actions-container/ofaction:action" {
\r
216 ext:augment-identifier "max-length-action";
\r
221 augment "/ofaction:actions-container/ofaction:action" {
\r
222 ext:augment-identifier "mpls-ttl-action";
\r
227 augment "/ofaction:actions-container/ofaction:action" {
\r
228 ext:augment-identifier "ethertype-action";
\r
230 type oft:ether-type;
\r
233 augment "/ofaction:actions-container/ofaction:action" {
\r
234 ext:augment-identifier "queue-id-action";
\r
239 augment "/ofaction:actions-container/ofaction:action" {
\r
240 ext:augment-identifier "group-id-action";
\r
245 augment "/ofaction:actions-container/ofaction:action" {
\r
246 ext:augment-identifier "nw-ttl-action";
\r
251 augment "/ofaction:actions-container/ofaction:action" {
\r
252 ext:augment-identifier "oxm-fields-action";
\r
253 uses oxm:oxm-fields;
\r
255 augment "/ofaction:actions-container/ofaction:action" {
\r
256 ext:augment-identifier "experimenter-action";
\r
257 leaf experimenter {
\r
262 // OFP_TABLE_FEATURES_PROPERTIES AUGMENTS
\r
263 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
264 ext:augment-identifier "instruction-ids-table-feature-properties";
\r
265 list instruction-ids {
\r
266 uses ofinstruction:instructions;
\r
269 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
270 ext:augment-identifier "next-table-ids-table-feature-properties";
\r
271 list next-table-ids {
\r
277 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
278 ext:augment-identifier "action-ids-table-feature-properties";
\r
280 uses ofaction:action-header;
\r
283 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
284 ext:augment-identifier "oxm-ids-table-feature-properties";
\r
286 uses oxm:oxm-fields;
\r
289 augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {
\r
290 ext:augment-identifier "experimenter-table-feature-properties";
\r
291 leaf experimenter {
\r
302 // OFP_INSTRUCTION AUGMENTS
\r
303 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
304 ext:augment-identifier "table-id-instruction";
\r
309 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
310 ext:augment-identifier "metadata-instruction";
\r
314 leaf metadata-mask {
\r
318 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
319 ext:augment-identifier "action-header-instruction";
\r
321 uses ofaction:action-header;
\r
324 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
325 ext:augment-identifier "meter-id-instruction";
\r
330 augment "/ofinstruction:instruction-container/ofinstruction:instruction" {
\r
331 ext:augment-identifier "experimenter-instruction";
\r
332 leaf experimenter {
\r