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 "2013-07-15";}
10 import yang-ext {prefix ext; revision-date "2013-07-09";}
11 import ietf-inet-types {prefix inet; revision-date "2013-07-15";}
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-of-in-port {
67 base ofoxm:match-field;
69 identity nxm-nx-tun-ipv4-dst {
70 base ofoxm:match-field;
72 identity nxm-nx-tun-ipv4-src {
73 base ofoxm:match-field;
75 identity nxm-of-eth-src {
76 base ofoxm:match-field;
78 identity nxm-of-eth-dst {
79 base ofoxm:match-field;
81 identity nxm-of-eth-type {
82 base ofoxm:match-field;
85 base ofoxm:match-field;
88 base ofoxm:match-field;
90 identity nxm-nx-nshc-1 {
91 base ofoxm:match-field;
93 identity nxm-nx-nshc-2 {
94 base ofoxm:match-field;
96 identity nxm-nx-nshc-3 {
97 base ofoxm:match-field;
99 identity nxm-nx-nshc-4 {
100 base ofoxm:match-field;
102 identity nxm-of-tcp-src {
103 base ofoxm:match-field;
105 identity nxm-of-tcp-dst {
106 base ofoxm:match-field;
108 identity nxm-of-udp-src {
109 base ofoxm:match-field;
111 identity nxm-of-udp-dst {
112 base ofoxm:match-field;
114 identity nxm-nx-ct-state {
115 base ofoxm:match-field;
117 identity nxm-nx-ct-zone {
118 base ofoxm:match-field;
120 identity nxm-of-ip-dst {
121 base ofoxm:match-field;
123 identity nxm-of-ip-src {
124 base ofoxm:match-field;
126 identity nxm-of-icmp-type {
127 base ofoxm:match-field;
129 identity nxm-nx-encap-eth-type {
130 base ofoxm:match-field;
132 identity nxm-nx-encap-eth-src {
133 base ofoxm:match-field;
135 identity nxm-nx-encap-eth-dst {
136 base ofoxm:match-field;
138 identity nxm-nx-nsh-mdtype {
139 base ofoxm:match-field;
141 identity nxm-nx-nsh-np {
142 base ofoxm:match-field;
144 identity nxm-nx-tun-gpe-np {
145 base ofoxm:match-field;
149 grouping ofj-nxm-nx-match-reg-grouping {
150 container reg-values {
156 grouping ofj-nxm-nx-match-tun-id-grouping {
157 container tun-id-values {
163 grouping ofj-nxm-nx-match-arp-sha-grouping {
164 container arp-sha-values {
166 type yang:mac-address;
170 grouping ofj-nxm-nx-match-arp-tha-grouping {
171 container arp-tha-values {
173 type yang:mac-address;
177 grouping ofj-nxm-of-match-arp-op-grouping {
178 container arp-op-values {
184 grouping ofj-nxm-of-match-arp-spa-grouping {
185 container arp-spa-values {
191 grouping ofj-nxm-of-match-arp-tpa-grouping {
192 container arp-tpa-values {
198 grouping ofj-nxm-of-in-port-type-grouping {
199 container nxm-of-in-port-values {
205 grouping ofj-nxm-nx-match-tun-ipv4-dst-grouping {
206 container tun-ipv4-dst-values {
212 grouping ofj-nxm-nx-match-tun-ipv4-src-grouping {
213 container tun-ipv4-src-values {
219 grouping ofj-nxm-of-match-eth-src-grouping {
220 container eth-src-values {
222 type yang:mac-address;
226 grouping ofj-nxm-of-match-eth-dst-grouping {
227 container eth-dst-values {
229 type yang:mac-address;
233 grouping ofj-nxm-of-match-eth-type-grouping {
234 container eth-type-values {
241 grouping ofj-nxm-nx-match-nsp-grouping {
242 container nsp-values {
249 grouping ofj-nxm-nx-match-nsi-grouping {
250 container nsi-values {
257 grouping ofj-nxm-nx-match-nshc-grouping {
263 grouping ofj-nxm-nx-match-nshc-1-grouping {
264 container nshc-1-values {
265 uses ofj-nxm-nx-match-nshc-grouping;
268 grouping ofj-nxm-nx-match-nshc-2-grouping {
269 container nshc-2-values {
270 uses ofj-nxm-nx-match-nshc-grouping;
273 grouping ofj-nxm-nx-match-nshc-3-grouping {
274 container nshc-3-values {
275 uses ofj-nxm-nx-match-nshc-grouping;
278 grouping ofj-nxm-nx-match-nshc-4-grouping {
279 container nshc-4-values {
280 uses ofj-nxm-nx-match-nshc-grouping;
283 grouping ofj-nxm-of-match-tcp-src-grouping {
284 container tcp-src-values {
286 type inet:port-number;
293 grouping ofj-nxm-of-match-tcp-dst-grouping {
294 container tcp-dst-values {
296 type inet:port-number;
303 grouping ofj-nxm-of-match-udp-src-grouping {
304 container udp-src-values {
306 type inet:port-number;
313 grouping ofj-nxm-of-match-udp-dst-grouping {
314 container udp-dst-values {
316 type inet:port-number;
323 grouping ofj-nxm-nx-match-ct-state-grouping{
324 container ct-state-values {
333 grouping ofj-nxm-nx-match-ct-zone-grouping{
334 container ct-zone-values {
340 grouping ofj-nxm-of-match-ip-dst-grouping {
341 container ip-dst-values {
347 grouping ofj-nxm-of-match-ip-src-grouping {
348 container ip-src-values {
354 grouping ofj-nxm-of-match-icmp-type-grouping {
355 container icmp-type-values {
361 grouping ofj-nxm-nx-match-encap-eth-type-grouping {
362 container encap-eth-type-values {
363 leaf encap-eth-type {
368 grouping ofj-nxm-nx-match-encap-eth-src-grouping {
369 container encap-eth-src-values {
371 type yang:mac-address;
375 grouping ofj-nxm-nx-match-encap-eth-dst-grouping {
376 container encap-eth-dst-values {
378 type yang:mac-address;
382 grouping ofj-nxm-nx-match-nsh-mdtype-grouping {
383 container nsh-mdtype-values {
389 grouping ofj-nxm-nx-match-nsh-np-grouping {
390 container nsh-np-values {
396 grouping ofj-nxm-nx-match-tun-gpe-np-grouping {
397 container tun-gpe-np-values {
404 augment "/ofoxm:oxm-container/ofoxm:match-entry-value" {
405 ext:augment-identifier "ofj-aug-nx-match";
406 case reg-case-value {
407 uses ofj-nxm-nx-match-reg-grouping;
409 case tun-id-case-value {
410 uses ofj-nxm-nx-match-tun-id-grouping;
412 case arp-sha-case-value {
413 uses ofj-nxm-nx-match-arp-sha-grouping;
415 case arp-tha-case-value {
416 uses ofj-nxm-nx-match-arp-tha-grouping;
418 case arp-op-case-value {
419 uses ofj-nxm-of-match-arp-op-grouping;
421 case arp-spa-case-value {
422 uses ofj-nxm-of-match-arp-spa-grouping;
424 case arp-tpa-case-value {
425 uses ofj-nxm-of-match-arp-tpa-grouping;
427 case of-in-port-case-value {
428 uses ofj-nxm-of-in-port-type-grouping;
430 case tun-ipv4-dst-case-value {
431 uses ofj-nxm-nx-match-tun-ipv4-dst-grouping;
433 case tun-ipv4-src-case-value {
434 uses ofj-nxm-nx-match-tun-ipv4-src-grouping;
436 case eth-src-case-value {
437 uses ofj-nxm-of-match-eth-src-grouping;
439 case eth-dst-case-value {
440 uses ofj-nxm-of-match-eth-dst-grouping;
442 case encap-eth-type-case-value {
443 uses ofj-nxm-nx-match-encap-eth-type-grouping;
445 case encap-eth-src-case-value {
446 uses ofj-nxm-nx-match-encap-eth-src-grouping;
448 case encap-eth-dst-case-value {
449 uses ofj-nxm-nx-match-encap-eth-dst-grouping;
451 case nsh-mdtype-case-value {
452 uses ofj-nxm-nx-match-nsh-mdtype-grouping;
454 case nsh-np-case-value {
455 uses ofj-nxm-nx-match-nsh-np-grouping;
457 case tun-gpe-np-case-value {
458 uses ofj-nxm-nx-match-tun-gpe-np-grouping;
461 case eth-type-case-value {
462 uses ofj-nxm-of-match-eth-type-grouping;
464 case nsp-case-value {
465 uses ofj-nxm-nx-match-nsp-grouping;
467 case nsi-case-value {
468 uses ofj-nxm-nx-match-nsi-grouping;
470 case nshc-1-case-value {
471 uses ofj-nxm-nx-match-nshc-1-grouping;
473 case nshc-2-case-value {
474 uses ofj-nxm-nx-match-nshc-2-grouping;
476 case nshc-3-case-value {
477 uses ofj-nxm-nx-match-nshc-3-grouping;
479 case nshc-4-case-value {
480 uses ofj-nxm-nx-match-nshc-4-grouping;
482 case tcp-src-case-value {
483 uses ofj-nxm-of-match-tcp-src-grouping;
485 case tcp-dst-case-value {
486 uses ofj-nxm-of-match-tcp-dst-grouping;
488 case udp-src-case-value {
489 uses ofj-nxm-of-match-udp-src-grouping;
491 case udp-dst-case-value {
492 uses ofj-nxm-of-match-udp-dst-grouping;
494 case ct-state-case-value {
495 uses ofj-nxm-nx-match-ct-state-grouping;
497 case ct-zone-case-value {
498 uses ofj-nxm-nx-match-ct-zone-grouping;
500 case ip-dst-case-value {
501 uses ofj-nxm-of-match-ip-dst-grouping;
503 case ip-src-case-value {
504 uses ofj-nxm-of-match-ip-src-grouping;
506 case icmp-type-case-value {
507 uses ofj-nxm-of-match-icmp-type-grouping;