import openflowplugin-extension-general {prefix ext-gen;revision-date "2014-07-14";}
import opendaylight-flow-statistics {prefix odl-flow-stats;revision-date "2013-08-19";}
import nicira-match {prefix nicira-match;revision-date "2014-04-21";}
- import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
- import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
+ import ietf-inet-types {prefix inet; revision-date "2013-07-15";}
+ import ietf-yang-types {prefix yang; revision-date "2013-07-15";}
- description
+ description
"Nicira openflow match extensions.";
revision "2014-07-14" {
description "Initial revision";
}
-
+
identity nxm-nx-reg0-key {
base ext-gen:extension-key;
}
identity nxm-of-udp-dst-key {
base ext-gen:extension-key;
}
+ identity nxm-nx-ct-state-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-nx-ct-zone-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-of-ip-dst-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-of-ip-src-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-of-icmp-type-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-nx-encap-eth-type-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-nx-encap-eth-src-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-nx-encap-eth-dst-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-nx-nsh-mdtype-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-nx-nsh-np-key {
+ base ext-gen:extension-key;
+ }
+ identity nxm-nx-tun-gpe-np-key {
+ base ext-gen:extension-key;
+ }
grouping ipv4-address-grouping {
leaf ipv4-address {
type inet:ipv4-address;
grouping nxm-of-tcp-dst-grouping {
container nxm-of-tcp-dst {
leaf port {
- type inet:port-number;
+ type inet:port-number;
}
leaf mask {
type uint16;
}
}
}
+ grouping nxm-nx-ct-state-grouping {
+ container nxm-nx-ct-state {
+ leaf ct-state {
+ type uint32;
+ }
+ leaf mask {
+ type uint32;
+ }
+ }
+ }
+ grouping nxm-nx-ct-zone-grouping {
+ container nxm-nx-ct-zone {
+ leaf ct-zone {
+ type uint16;
+ }
+ }
+ }
+ grouping nxm-of-ip-dst-grouping {
+ container nxm-of-ip-dst {
+ uses ipv4-address-grouping;
+ }
+ }
+ grouping nxm-of-ip-src-grouping {
+ container nxm-of-ip-src {
+ uses ipv4-address-grouping;
+ }
+ }
+ grouping nxm-of-icmp-type-grouping {
+ container nxm-of-icmp-type {
+ leaf value {
+ type uint8;
+ }
+ }
+ }
+ grouping nxm-nx-encap-eth-type-grouping {
+ container nxm-nx-encap-eth-type {
+ leaf value {
+ type uint16;
+ }
+ }
+ }
+ grouping nxm-nx-encap-eth-src-grouping {
+ container nxm-nx-encap-eth-src {
+ uses mac-address-grouping;
+ }
+ }
+ grouping nxm-nx-encap-eth-dst-grouping {
+ container nxm-nx-encap-eth-dst {
+ uses mac-address-grouping;
+ }
+ }
+ grouping nxm-nx-nsh-mdtype-grouping {
+ container nxm-nx-nsh-mdtype {
+ leaf value {
+ type uint8;
+ }
+ }
+ }
+ grouping nxm-nx-nsh-np-grouping {
+ container nxm-nx-nsh-np {
+ leaf value {
+ type uint8;
+ }
+ }
+ }
+ grouping nxm-nx-tun-gpe-np-grouping {
+ container nxm-nx-tun-gpe-np {
+ leaf value {
+ type uint8;
+ }
+ }
+ }
+
-
grouping all-matches-grouping {
uses nxm-nx-reg-grouping;
uses nxm-nx-tun-id-grouping;
uses nxm-nx-nshc-2-grouping;
uses nxm-nx-nshc-3-grouping;
uses nxm-nx-nshc-4-grouping;
+ uses nxm-nx-encap-eth-type-grouping;
+ uses nxm-nx-encap-eth-src-grouping;
+ uses nxm-nx-encap-eth-dst-grouping;
+ uses nxm-nx-nsh-mdtype-grouping;
+ uses nxm-nx-nsh-np-grouping;
+ uses nxm-nx-tun-gpe-np-grouping;
uses nxm-of-tcp-src-grouping;
uses nxm-of-tcp-dst-grouping;
uses nxm-of-udp-src-grouping;
uses nxm-of-udp-dst-grouping;
+ uses nxm-nx-ct-state-grouping;
+ uses nxm-nx-ct-zone-grouping;
+ uses nxm-of-ip-dst-grouping;
+ uses nxm-of-ip-src-grouping;
+ uses nxm-of-icmp-type-grouping;
}
// MATCH augmentations
ext:augment-identifier "nx-aug-match-rpc-update-flow-updated";
uses all-matches-grouping;
}
-
+
// DATA
augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:match/ext-gen:extension-list/ext-gen:extension" {
ext:augment-identifier "nx-aug-match-nodes-node-table-flow";
uses all-matches-grouping;
}
-
+
// NOTIFICATIONS
augment "/sal-flow:switch-flow-removed/sal-flow:match/ext-gen:extension-list/ext-gen:extension" {
ext:augment-identifier "nx-aug-match-notif-switch-flow-removed";