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;
147 identity nxm-of-mpls-label {
148 base ofoxm:match-field;
151 grouping ofj-nxm-nx-match-reg-grouping {
152 container reg-values {
162 grouping ofj-oxm-of-mpls-label-grouping {
163 container mpls-label-values {
170 grouping ofj-nxm-nx-match-tun-id-grouping {
171 container tun-id-values {
178 grouping ofj-nxm-nx-match-arp-sha-grouping {
179 container arp-sha-values {
181 type yang:mac-address;
186 grouping ofj-nxm-nx-match-arp-tha-grouping {
187 container arp-tha-values {
189 type yang:mac-address;
194 grouping ofj-nxm-of-match-arp-op-grouping {
195 container arp-op-values {
202 grouping ofj-nxm-of-match-arp-spa-grouping {
203 container arp-spa-values {
210 grouping ofj-nxm-of-match-arp-tpa-grouping {
211 container arp-tpa-values {
218 grouping ofj-nxm-of-in-port-type-grouping {
219 container nxm-of-in-port-values {
226 grouping ofj-nxm-nx-match-tun-ipv4-dst-grouping {
227 container tun-ipv4-dst-values {
234 grouping ofj-nxm-nx-match-tun-ipv4-src-grouping {
235 container tun-ipv4-src-values {
242 grouping ofj-nxm-of-match-eth-src-grouping {
243 container eth-src-values {
245 type yang:mac-address;
250 grouping ofj-nxm-of-match-eth-dst-grouping {
251 container eth-dst-values {
253 type yang:mac-address;
258 grouping ofj-nxm-of-match-eth-type-grouping {
259 container eth-type-values {
266 grouping ofj-nxm-nx-match-nsp-grouping {
267 container nsp-values {
274 grouping ofj-nxm-nx-match-nsi-grouping {
275 container nsi-values {
282 grouping ofj-nxm-nx-match-nshc-grouping {
288 grouping ofj-nxm-nx-match-nshc-1-grouping {
289 container nshc-1-values {
290 uses ofj-nxm-nx-match-nshc-grouping;
294 grouping ofj-nxm-nx-match-nshc-2-grouping {
295 container nshc-2-values {
296 uses ofj-nxm-nx-match-nshc-grouping;
300 grouping ofj-nxm-nx-match-nshc-3-grouping {
301 container nshc-3-values {
302 uses ofj-nxm-nx-match-nshc-grouping;
306 grouping ofj-nxm-nx-match-nshc-4-grouping {
307 container nshc-4-values {
308 uses ofj-nxm-nx-match-nshc-grouping;
312 grouping ofj-nxm-of-match-tcp-src-grouping {
313 container tcp-src-values {
315 type inet:port-number;
323 grouping ofj-nxm-of-match-tcp-dst-grouping {
324 container tcp-dst-values {
326 type inet:port-number;
334 grouping ofj-nxm-of-match-udp-src-grouping {
335 container udp-src-values {
337 type inet:port-number;
345 grouping ofj-nxm-of-match-udp-dst-grouping {
346 container udp-dst-values {
348 type inet:port-number;
356 grouping ofj-nxm-nx-match-ct-state-grouping{
357 container ct-state-values {
367 grouping ofj-nxm-nx-match-ct-zone-grouping{
368 container ct-zone-values {
375 grouping ofj-nxm-of-match-ip-dst-grouping {
376 container ip-dst-values {
383 grouping ofj-nxm-of-match-ip-src-grouping {
384 container ip-src-values {
391 grouping ofj-nxm-of-match-icmp-type-grouping {
392 container icmp-type-values {
399 grouping ofj-nxm-nx-match-encap-eth-type-grouping {
400 container encap-eth-type-values {
401 leaf encap-eth-type {
407 grouping ofj-nxm-nx-match-encap-eth-src-grouping {
408 container encap-eth-src-values {
410 type yang:mac-address;
415 grouping ofj-nxm-nx-match-encap-eth-dst-grouping {
416 container encap-eth-dst-values {
418 type yang:mac-address;
423 grouping ofj-nxm-nx-match-nsh-mdtype-grouping {
424 container nsh-mdtype-values {
431 grouping ofj-nxm-nx-match-nsh-np-grouping {
432 container nsh-np-values {
439 grouping ofj-nxm-nx-match-tun-gpe-np-grouping {
440 container tun-gpe-np-values {
447 augment "/ofoxm:oxm-container/ofoxm:match-entry-value" {
448 ext:augment-identifier "ofj-aug-nx-match";
449 case reg-case-value {
450 uses ofj-nxm-nx-match-reg-grouping;
452 case tun-id-case-value {
453 uses ofj-nxm-nx-match-tun-id-grouping;
455 case arp-sha-case-value {
456 uses ofj-nxm-nx-match-arp-sha-grouping;
458 case arp-tha-case-value {
459 uses ofj-nxm-nx-match-arp-tha-grouping;
461 case arp-op-case-value {
462 uses ofj-nxm-of-match-arp-op-grouping;
464 case arp-spa-case-value {
465 uses ofj-nxm-of-match-arp-spa-grouping;
467 case arp-tpa-case-value {
468 uses ofj-nxm-of-match-arp-tpa-grouping;
470 case of-in-port-case-value {
471 uses ofj-nxm-of-in-port-type-grouping;
473 case tun-ipv4-dst-case-value {
474 uses ofj-nxm-nx-match-tun-ipv4-dst-grouping;
476 case tun-ipv4-src-case-value {
477 uses ofj-nxm-nx-match-tun-ipv4-src-grouping;
479 case eth-src-case-value {
480 uses ofj-nxm-of-match-eth-src-grouping;
482 case of-mpls-label-case-value {
483 uses ofj-oxm-of-mpls-label-grouping;
485 case eth-dst-case-value {
486 uses ofj-nxm-of-match-eth-dst-grouping;
488 case encap-eth-type-case-value {
489 uses ofj-nxm-nx-match-encap-eth-type-grouping;
491 case encap-eth-src-case-value {
492 uses ofj-nxm-nx-match-encap-eth-src-grouping;
494 case encap-eth-dst-case-value {
495 uses ofj-nxm-nx-match-encap-eth-dst-grouping;
497 case nsh-mdtype-case-value {
498 uses ofj-nxm-nx-match-nsh-mdtype-grouping;
500 case nsh-np-case-value {
501 uses ofj-nxm-nx-match-nsh-np-grouping;
503 case tun-gpe-np-case-value {
504 uses ofj-nxm-nx-match-tun-gpe-np-grouping;
506 case eth-type-case-value {
507 uses ofj-nxm-of-match-eth-type-grouping;
509 case nsp-case-value {
510 uses ofj-nxm-nx-match-nsp-grouping;
512 case nsi-case-value {
513 uses ofj-nxm-nx-match-nsi-grouping;
515 case nshc-1-case-value {
516 uses ofj-nxm-nx-match-nshc-1-grouping;
518 case nshc-2-case-value {
519 uses ofj-nxm-nx-match-nshc-2-grouping;
521 case nshc-3-case-value {
522 uses ofj-nxm-nx-match-nshc-3-grouping;
524 case nshc-4-case-value {
525 uses ofj-nxm-nx-match-nshc-4-grouping;
527 case tcp-src-case-value {
528 uses ofj-nxm-of-match-tcp-src-grouping;
530 case tcp-dst-case-value {
531 uses ofj-nxm-of-match-tcp-dst-grouping;
533 case udp-src-case-value {
534 uses ofj-nxm-of-match-udp-src-grouping;
536 case udp-dst-case-value {
537 uses ofj-nxm-of-match-udp-dst-grouping;
539 case ct-state-case-value {
540 uses ofj-nxm-nx-match-ct-state-grouping;
542 case ct-zone-case-value {
543 uses ofj-nxm-nx-match-ct-zone-grouping;
545 case ip-dst-case-value {
546 uses ofj-nxm-of-match-ip-dst-grouping;
548 case ip-src-case-value {
549 uses ofj-nxm-of-match-ip-src-grouping;
551 case icmp-type-case-value {
552 uses ofj-nxm-of-match-icmp-type-grouping;