module nicira-match { yang-version 1; namespace "urn:opendaylight:openflowjava:nx:match"; prefix "nicira-match"; import openflow-extensible-match {prefix ofoxm;} import openflow-types {prefix oft;} import openflow-augments {prefix aug;} 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 "2013-07-15";} description "Nicira openflow extensions of match."; revision "2014-04-21" { description "Initial revision"; } identity nxm-nx-reg { base ofoxm:match-field; } identity nxm-nx-reg0 { base nxm-nx-reg; } identity nxm-nx-reg1 { base nxm-nx-reg; } identity nxm-nx-reg2 { base nxm-nx-reg; } identity nxm-nx-reg3 { base nxm-nx-reg; } identity nxm-nx-reg4 { base nxm-nx-reg; } identity nxm-nx-reg5 { base nxm-nx-reg; } identity nxm-nx-reg6 { base nxm-nx-reg; } identity nxm-nx-reg7 { base nxm-nx-reg; } identity nxm-nx-tun-id { base ofoxm:match-field; } identity nxm-nx-arp-sha { base ofoxm:match-field; } identity nxm-nx-arp-tha { base ofoxm:match-field; } identity nxm-of-arp-op { base ofoxm:match-field; } identity nxm-of-arp-spa { base ofoxm:match-field; } 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-nx-tun-ipv4-src { base ofoxm:match-field; } identity nxm-of-eth-src { base ofoxm:match-field; } identity nxm-of-eth-dst { base ofoxm:match-field; } identity nxm-of-eth-type { base ofoxm:match-field; } identity nxm-nx-nsp { base ofoxm:match-field; } identity nxm-nx-nsi { base ofoxm:match-field; } identity nxm-nx-nshc-1 { base ofoxm:match-field; } identity nxm-nx-nshc-2 { base ofoxm:match-field; } identity nxm-nx-nshc-3 { base ofoxm:match-field; } identity nxm-nx-nshc-4 { base ofoxm:match-field; } identity nxm-of-tcp-src { base ofoxm:match-field; } identity nxm-of-tcp-dst { base ofoxm:match-field; } identity nxm-of-udp-src { base ofoxm:match-field; } identity nxm-of-udp-dst { base ofoxm:match-field; } identity nxm-nx-ct-state { base ofoxm:match-field; } identity nxm-nx-ct-zone { base ofoxm:match-field; } identity nxm-of-ip-dst { base ofoxm:match-field; } identity nxm-of-ip-src { base ofoxm:match-field; } identity nxm-of-icmp-type { base ofoxm:match-field; } identity nxm-nx-nsh-flags { 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-nsh-ttl { base ofoxm:match-field; } identity nxm-of-mpls-label { base ofoxm:match-field; } identity nxm-of-metadata { base ofoxm:match-field; } identity nxm-nx-ct-mark { base ofoxm:match-field; } identity nxm-nx-ct-tp-src { base ofoxm:match-field; } identity nxm-nx-ct-tp-dst { base ofoxm:match-field; } identity nxm-nx-pkt-mark { 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-oxm-of-metadata-grouping { container metadata-values { leaf metadata { type uint32; } } } grouping ofj-nxm-nx-match-tun-id-grouping { container tun-id-values { leaf value { type uint64; } } } grouping ofj-nxm-nx-match-arp-sha-grouping { container arp-sha-values { leaf mac-address { type yang:mac-address; } } } grouping ofj-nxm-nx-match-arp-tha-grouping { container arp-tha-values { leaf mac-address { type yang:mac-address; } } } grouping ofj-nxm-of-match-arp-op-grouping { container arp-op-values { leaf value { type uint16; } } } grouping ofj-nxm-of-match-arp-spa-grouping { container arp-spa-values { leaf value { type uint32; } } } grouping ofj-nxm-of-match-arp-tpa-grouping { container arp-tpa-values { leaf value { type uint32; } } } 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 { type uint32; } } } grouping ofj-nxm-nx-match-tun-ipv4-src-grouping { container tun-ipv4-src-values { leaf value { type uint32; } } } grouping ofj-nxm-of-match-eth-src-grouping { container eth-src-values { leaf mac-address { type yang:mac-address; } } } grouping ofj-nxm-of-match-eth-dst-grouping { container eth-dst-values { leaf mac-address { type yang:mac-address; } } } grouping ofj-nxm-of-match-eth-type-grouping { container eth-type-values { leaf value { type uint16; } } } grouping ofj-nxm-nx-match-nsp-grouping { container nsp-values { leaf nsp { type uint32; } leaf mask { type uint32; } } } grouping ofj-nxm-nx-match-nsi-grouping { container nsi-values { leaf nsi { type uint8; } leaf mask { type uint8; } } } grouping ofj-nxm-nx-match-nshc-grouping { leaf nshc { type uint32; } leaf mask { type uint32; } } grouping ofj-nxm-nx-match-nshc-1-grouping { container nshc-1-values { 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 { type inet:port-number; } leaf mask { type uint16; } } } grouping ofj-nxm-of-match-tcp-dst-grouping { container tcp-dst-values { leaf port { type inet:port-number; } leaf mask { type uint16; } } } grouping ofj-nxm-of-match-udp-src-grouping { container udp-src-values { leaf port { type inet:port-number; } leaf mask { type uint16; } } } grouping ofj-nxm-of-match-udp-dst-grouping { container udp-dst-values { leaf port { type inet:port-number; } leaf mask { type uint16; } } } grouping ofj-nxm-nx-match-ct-state-grouping{ container ct-state-values { leaf ct-state { type uint32; } leaf mask { type uint32; } } } grouping ofj-nxm-nx-match-ct-zone-grouping{ container ct-zone-values { leaf ct-zone { type uint16; } } } grouping ofj-nxm-of-match-ip-dst-grouping { container ip-dst-values { leaf value { type uint32; } } } grouping ofj-nxm-of-match-ip-src-grouping { container ip-src-values { leaf value { type uint32; } } } grouping ofj-nxm-of-match-icmp-type-grouping { container icmp-type-values { leaf value { type uint8; } } } grouping ofj-nxm-nx-match-nsh-flags-grouping { container nsh-flags-values { leaf nsh-flags { type uint8; } leaf mask { type uint8; } } } 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-nsh-ttl-grouping { container nsh-ttl-values { leaf nsh-ttl { type uint8; } leaf mask { type uint8; } } } grouping ofj-nxm-nx-match-ct-mark-grouping { container ct-mark-values { leaf ct-mark { type uint32; } leaf mask { type uint32; } } } grouping ofj-nxm-nx-match-ct-tp-src-grouping { container ct-tp-src-values { leaf ct-tp-src { type uint16; } leaf mask { type uint16; } } } grouping ofj-nxm-nx-match-ct-tp-dst-grouping { container ct-tp-dst-values { leaf ct-tp-dst { type uint16; } leaf mask { type uint16; } } } grouping ofj-nxm-nx-match-pkt-mark-grouping { container pkt-mark-values { leaf pkt-mark { type uint32; } leaf mask { type uint32; } } } augment "/ofoxm:oxm-container/ofoxm:match-entry-value" { ext:augment-identifier "ofj-aug-nx-match"; case reg-case-value { uses ofj-nxm-nx-match-reg-grouping; } case tun-id-case-value { uses ofj-nxm-nx-match-tun-id-grouping; } case arp-sha-case-value { uses ofj-nxm-nx-match-arp-sha-grouping; } case arp-tha-case-value { uses ofj-nxm-nx-match-arp-tha-grouping; } case arp-op-case-value { uses ofj-nxm-of-match-arp-op-grouping; } case arp-spa-case-value { uses ofj-nxm-of-match-arp-spa-grouping; } 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 tun-ipv4-src-case-value { uses ofj-nxm-nx-match-tun-ipv4-src-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 of-metadata-case-value { uses ofj-oxm-of-metadata-grouping; } case eth-dst-case-value { uses ofj-nxm-of-match-eth-dst-grouping; } case eth-type-case-value { uses ofj-nxm-of-match-eth-type-grouping; } case tcp-src-case-value { uses ofj-nxm-of-match-tcp-src-grouping; } case tcp-dst-case-value { uses ofj-nxm-of-match-tcp-dst-grouping; } case udp-src-case-value { uses ofj-nxm-of-match-udp-src-grouping; } case udp-dst-case-value { uses ofj-nxm-of-match-udp-dst-grouping; } case ct-state-case-value { uses ofj-nxm-nx-match-ct-state-grouping; } case ct-zone-case-value { uses ofj-nxm-nx-match-ct-zone-grouping; } case ip-dst-case-value { uses ofj-nxm-of-match-ip-dst-grouping; } case ip-src-case-value { uses ofj-nxm-of-match-ip-src-grouping; } case icmp-type-case-value { uses ofj-nxm-of-match-icmp-type-grouping; } case ct-mark-case-value { uses ofj-nxm-nx-match-ct-mark-grouping; } case ct-tp-src-case-value { uses ofj-nxm-nx-match-ct-tp-src-grouping; } case ct-tp-dst-case-value { uses ofj-nxm-nx-match-ct-tp-dst-grouping; } case pkt-mark-case-value { uses ofj-nxm-nx-match-pkt-mark-grouping; } } augment "/ofoxm:oxm-container/ofoxm:match-entry-value/aug:experimenter-id-case" { ext:augment-identifier "ofj-aug-nx-exp-match"; choice nx-exp-match-entry-value { case nsh-flags-case-value { uses ofj-nxm-nx-match-nsh-flags-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 nsp-case-value { uses ofj-nxm-nx-match-nsp-grouping; } case nsi-case-value { uses ofj-nxm-nx-match-nsi-grouping; } case nshc-case-value { uses ofj-nxm-nx-match-nshc-grouping; } case nsh-ttl-case-value { uses ofj-nxm-nx-match-nsh-ttl-grouping; } } } }