4 namespace "urn:opendaylight:openflowjava:nx:match";
7 import openflow-extensible-match {prefix ofoxm;}
8 import openflow-types {prefix oft;}
9 import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
10 import yang-ext {prefix ext; revision-date "2013-07-09";}
11 import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
14 "Nicira openflow extensions of match.";
16 revision "2014-04-21" {
17 description "Initial revision";
21 base ofoxm:match-field;
24 identity nxm-nx-reg0 {
27 identity nxm-nx-reg1 {
30 identity nxm-nx-reg2 {
33 identity nxm-nx-reg3 {
36 identity nxm-nx-reg4 {
39 identity nxm-nx-reg5 {
42 identity nxm-nx-reg6 {
45 identity nxm-nx-reg7 {
48 identity nxm-nx-tun-id {
49 base ofoxm:match-field;
51 identity nxm-nx-arp-sha {
52 base ofoxm:match-field;
54 identity nxm-nx-arp-tha {
55 base ofoxm:match-field;
57 identity nxm-of-arp-op {
58 base ofoxm:match-field;
60 identity nxm-of-arp-spa {
61 base ofoxm:match-field;
63 identity nxm-of-arp-tpa {
64 base ofoxm:match-field;
66 identity nxm-nx-tun-ipv4-dst {
67 base ofoxm:match-field;
69 identity nxm-nx-tun-ipv4-src {
70 base ofoxm:match-field;
72 identity nxm-of-eth-src {
73 base ofoxm:match-field;
75 identity nxm-of-eth-dst {
76 base ofoxm:match-field;
78 identity nxm-of-eth-type {
79 base ofoxm:match-field;
82 base ofoxm:match-field;
85 base ofoxm:match-field;
87 identity nxm-nx-nshc-1 {
88 base ofoxm:match-field;
90 identity nxm-nx-nshc-2 {
91 base ofoxm:match-field;
93 identity nxm-nx-nshc-3 {
94 base ofoxm:match-field;
96 identity nxm-nx-nshc-4 {
97 base ofoxm:match-field;
99 identity nxm-of-tcp-src {
100 base ofoxm:match-field;
102 identity nxm-of-tcp-dst {
103 base ofoxm:match-field;
105 identity nxm-of-udp-src {
106 base ofoxm:match-field;
108 identity nxm-of-udp-dst {
109 base ofoxm:match-field;
112 grouping ofj-nxm-nx-match-reg-grouping {
113 container reg-values {
119 grouping ofj-nxm-nx-match-tun-id-grouping {
120 container tun-id-values {
126 grouping ofj-nxm-nx-match-arp-sha-grouping {
127 container arp-sha-values {
129 type yang:mac-address;
133 grouping ofj-nxm-nx-match-arp-tha-grouping {
134 container arp-tha-values {
136 type yang:mac-address;
140 grouping ofj-nxm-of-match-arp-op-grouping {
141 container arp-op-values {
147 grouping ofj-nxm-of-match-arp-spa-grouping {
148 container arp-spa-values {
154 grouping ofj-nxm-of-match-arp-tpa-grouping {
155 container arp-tpa-values {
161 grouping ofj-nxm-nx-match-tun-ipv4-dst-grouping {
162 container tun-ipv4-dst-values {
168 grouping ofj-nxm-nx-match-tun-ipv4-src-grouping {
169 container tun-ipv4-src-values {
175 grouping ofj-nxm-of-match-eth-src-grouping {
176 container eth-src-values {
178 type yang:mac-address;
182 grouping ofj-nxm-of-match-eth-dst-grouping {
183 container eth-dst-values {
185 type yang:mac-address;
189 grouping ofj-nxm-of-match-eth-type-grouping {
190 container eth-type-values {
197 grouping ofj-nxm-nx-match-nsp-grouping {
198 container nsp-values {
205 grouping ofj-nxm-nx-match-nsi-grouping {
206 container nsi-values {
213 grouping ofj-nxm-nx-match-nshc-grouping {
219 grouping ofj-nxm-nx-match-nshc-1-grouping {
220 container nshc-1-values {
221 uses ofj-nxm-nx-match-nshc-grouping;
224 grouping ofj-nxm-nx-match-nshc-2-grouping {
225 container nshc-2-values {
226 uses ofj-nxm-nx-match-nshc-grouping;
229 grouping ofj-nxm-nx-match-nshc-3-grouping {
230 container nshc-3-values {
231 uses ofj-nxm-nx-match-nshc-grouping;
234 grouping ofj-nxm-nx-match-nshc-4-grouping {
235 container nshc-4-values {
236 uses ofj-nxm-nx-match-nshc-grouping;
239 grouping ofj-nxm-of-match-tcp-src-grouping {
240 container tcp-src-values {
242 type inet:port-number;
249 grouping ofj-nxm-of-match-tcp-dst-grouping {
250 container tcp-dst-values {
252 type inet:port-number;
259 grouping ofj-nxm-of-match-udp-src-grouping {
260 container udp-src-values {
262 type inet:port-number;
269 grouping ofj-nxm-of-match-udp-dst-grouping {
270 container udp-dst-values {
272 type inet:port-number;
280 augment "/ofoxm:oxm-container/ofoxm:match-entry-value" {
281 ext:augment-identifier "ofj-aug-nx-match";
282 case reg-case-value {
283 uses ofj-nxm-nx-match-reg-grouping;
285 case tun-id-case-value {
286 uses ofj-nxm-nx-match-tun-id-grouping;
288 case arp-sha-case-value {
289 uses ofj-nxm-nx-match-arp-sha-grouping;
291 case arp-tha-case-value {
292 uses ofj-nxm-nx-match-arp-tha-grouping;
294 case arp-op-case-value {
295 uses ofj-nxm-of-match-arp-op-grouping;
297 case arp-spa-case-value {
298 uses ofj-nxm-of-match-arp-spa-grouping;
300 case arp-tpa-case-value {
301 uses ofj-nxm-of-match-arp-tpa-grouping;
303 case tun-ipv4-dst-case-value {
304 uses ofj-nxm-nx-match-tun-ipv4-dst-grouping;
306 case tun-ipv4-src-case-value {
307 uses ofj-nxm-nx-match-tun-ipv4-src-grouping;
309 case eth-src-case-value {
310 uses ofj-nxm-of-match-eth-src-grouping;
312 case eth-dst-case-value {
313 uses ofj-nxm-of-match-eth-dst-grouping;
316 case eth-type-case-value {
317 uses ofj-nxm-of-match-eth-type-grouping;
319 case nsp-case-value {
320 uses ofj-nxm-nx-match-nsp-grouping;
322 case nsi-case-value {
323 uses ofj-nxm-nx-match-nsi-grouping;
325 case nshc-1-case-value {
326 uses ofj-nxm-nx-match-nshc-1-grouping;
328 case nshc-2-case-value {
329 uses ofj-nxm-nx-match-nshc-2-grouping;
331 case nshc-3-case-value {
332 uses ofj-nxm-nx-match-nshc-3-grouping;
334 case nshc-4-case-value {
335 uses ofj-nxm-nx-match-nshc-4-grouping;
337 case tcp-src-case-value {
338 uses ofj-nxm-of-match-tcp-src-grouping;
340 case tcp-dst-case-value {
341 uses ofj-nxm-of-match-tcp-dst-grouping;
343 case udp-src-case-value {
344 uses ofj-nxm-of-match-udp-src-grouping;
346 case udp-dst-case-value {
347 uses ofj-nxm-of-match-udp-dst-grouping;