import openflow-extensible-match {prefix ofoxm;}
import openflow-types {prefix oft;}
- import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
+ import ietf-yang-types {prefix yang; revision-date "2013-07-15";}
import yang-ext {prefix ext; revision-date "2013-07-09";}
- import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
+ import ietf-inet-types {prefix inet; revision-date "2013-07-15";}
description
"Nicira openflow extensions of match.";
identity nxm-of-arp-tpa {
base ofoxm:match-field;
}
+ identity nxm-of-in-port {
+ base ofoxm:match-field;
+ }
identity nxm-nx-tun-ipv4-dst {
base ofoxm:match-field;
}
identity nxm-of-icmp-type {
base ofoxm:match-field;
}
+ identity nxm-nx-encap-eth-type {
+ base ofoxm:match-field;
+ }
+ identity nxm-nx-encap-eth-src {
+ base ofoxm:match-field;
+ }
+ identity nxm-nx-encap-eth-dst {
+ base ofoxm:match-field;
+ }
+ identity nxm-nx-nsh-mdtype {
+ base ofoxm:match-field;
+ }
+ identity nxm-nx-nsh-np {
+ base ofoxm:match-field;
+ }
+ identity nxm-nx-tun-gpe-np {
+ base ofoxm:match-field;
+ }
+ identity nxm-of-mpls-label {
+ base ofoxm:match-field;
+ }
grouping ofj-nxm-nx-match-reg-grouping {
container reg-values {
leaf value {
type uint32;
}
+ leaf mask {
+ type uint32;
+ }
+ }
+ }
+
+ grouping ofj-oxm-of-mpls-label-grouping {
+ container mpls-label-values {
+ leaf mpls-label {
+ type uint32;
+ }
}
}
+
grouping ofj-nxm-nx-match-tun-id-grouping {
container tun-id-values {
leaf value {
}
}
}
+
grouping ofj-nxm-nx-match-arp-sha-grouping {
container arp-sha-values {
leaf mac-address {
}
}
}
+
grouping ofj-nxm-nx-match-arp-tha-grouping {
container arp-tha-values {
leaf mac-address {
}
}
}
+
grouping ofj-nxm-of-match-arp-op-grouping {
container arp-op-values {
leaf value {
}
}
}
+
grouping ofj-nxm-of-match-arp-spa-grouping {
container arp-spa-values {
leaf value {
}
}
}
+
grouping ofj-nxm-of-match-arp-tpa-grouping {
container arp-tpa-values {
leaf value {
}
}
}
+
+ grouping ofj-nxm-of-in-port-type-grouping {
+ container nxm-of-in-port-values {
+ leaf value {
+ type uint16;
+ }
+ }
+ }
+
grouping ofj-nxm-nx-match-tun-ipv4-dst-grouping {
container tun-ipv4-dst-values {
leaf value {
}
}
}
+
grouping ofj-nxm-nx-match-tun-ipv4-src-grouping {
container tun-ipv4-src-values {
leaf value {
}
}
}
+
grouping ofj-nxm-of-match-eth-src-grouping {
container eth-src-values {
leaf mac-address {
}
}
}
+
grouping ofj-nxm-of-match-eth-dst-grouping {
container eth-dst-values {
leaf mac-address {
}
}
}
+
grouping ofj-nxm-of-match-eth-type-grouping {
container eth-type-values {
leaf value {
uses ofj-nxm-nx-match-nshc-grouping;
}
}
+
grouping ofj-nxm-nx-match-nshc-2-grouping {
container nshc-2-values {
uses ofj-nxm-nx-match-nshc-grouping;
}
}
+
grouping ofj-nxm-nx-match-nshc-3-grouping {
container nshc-3-values {
uses ofj-nxm-nx-match-nshc-grouping;
}
}
+
grouping ofj-nxm-nx-match-nshc-4-grouping {
container nshc-4-values {
uses ofj-nxm-nx-match-nshc-grouping;
}
}
+
grouping ofj-nxm-of-match-tcp-src-grouping {
container tcp-src-values {
leaf port {
}
}
}
+
grouping ofj-nxm-of-match-tcp-dst-grouping {
container tcp-dst-values {
leaf port {
}
}
}
- grouping ofj-nxm-of-match-udp-src-grouping {
+
+ grouping ofj-nxm-of-match-udp-src-grouping {
container udp-src-values {
leaf port {
type inet:port-number;
}
}
}
+
grouping ofj-nxm-of-match-udp-dst-grouping {
container udp-dst-values {
leaf port {
}
}
}
+
grouping ofj-nxm-nx-match-ct-state-grouping{
container ct-state-values {
leaf ct-state {
}
}
}
+
grouping ofj-nxm-nx-match-ct-zone-grouping{
container ct-zone-values {
leaf ct-zone {
}
}
}
+
grouping ofj-nxm-of-match-ip-dst-grouping {
container ip-dst-values {
leaf value {
}
}
}
+
grouping ofj-nxm-of-match-ip-src-grouping {
container ip-src-values {
leaf value {
}
}
}
+
grouping ofj-nxm-of-match-icmp-type-grouping {
container icmp-type-values {
leaf value {
}
}
+ grouping ofj-nxm-nx-match-encap-eth-type-grouping {
+ container encap-eth-type-values {
+ leaf encap-eth-type {
+ type uint16;
+ }
+ }
+ }
+
+ grouping ofj-nxm-nx-match-encap-eth-src-grouping {
+ container encap-eth-src-values {
+ leaf mac-address {
+ type yang:mac-address;
+ }
+ }
+ }
+
+ grouping ofj-nxm-nx-match-encap-eth-dst-grouping {
+ container encap-eth-dst-values {
+ leaf mac-address {
+ type yang:mac-address;
+ }
+ }
+ }
+
+ grouping ofj-nxm-nx-match-nsh-mdtype-grouping {
+ container nsh-mdtype-values {
+ leaf value {
+ type uint8;
+ }
+ }
+ }
+
+ grouping ofj-nxm-nx-match-nsh-np-grouping {
+ container nsh-np-values {
+ leaf value {
+ type uint8;
+ }
+ }
+ }
+
+ grouping ofj-nxm-nx-match-tun-gpe-np-grouping {
+ container tun-gpe-np-values {
+ leaf value {
+ type uint8;
+ }
+ }
+ }
+
augment "/ofoxm:oxm-container/ofoxm:match-entry-value" {
ext:augment-identifier "ofj-aug-nx-match";
case reg-case-value {
case arp-tpa-case-value {
uses ofj-nxm-of-match-arp-tpa-grouping;
}
+ case of-in-port-case-value {
+ uses ofj-nxm-of-in-port-type-grouping;
+ }
case tun-ipv4-dst-case-value {
uses ofj-nxm-nx-match-tun-ipv4-dst-grouping;
}
case eth-src-case-value {
uses ofj-nxm-of-match-eth-src-grouping;
}
+ case of-mpls-label-case-value {
+ uses ofj-oxm-of-mpls-label-grouping;
+ }
case eth-dst-case-value {
uses ofj-nxm-of-match-eth-dst-grouping;
}
-
+ case encap-eth-type-case-value {
+ uses ofj-nxm-nx-match-encap-eth-type-grouping;
+ }
+ case encap-eth-src-case-value {
+ uses ofj-nxm-nx-match-encap-eth-src-grouping;
+ }
+ case encap-eth-dst-case-value {
+ uses ofj-nxm-nx-match-encap-eth-dst-grouping;
+ }
+ case nsh-mdtype-case-value {
+ uses ofj-nxm-nx-match-nsh-mdtype-grouping;
+ }
+ case nsh-np-case-value {
+ uses ofj-nxm-nx-match-nsh-np-grouping;
+ }
+ case tun-gpe-np-case-value {
+ uses ofj-nxm-nx-match-tun-gpe-np-grouping;
+ }
case eth-type-case-value {
uses ofj-nxm-of-match-eth-type-grouping;
}
case icmp-type-case-value {
uses ofj-nxm-of-match-icmp-type-grouping;
}
-
}
}