Support new matches and actions in ovs nsh patch
[openflowplugin.git] / extension / openflowplugin-extension-nicira / src / main / yang / openflowplugin-extension-nicira-match.yang
index 7e148a5d83c4a40eeb84da308adbd66379fc52c6..8acbf61d0f994a44af7e065fbaf31c141b719642 100644 (file)
@@ -12,8 +12,8 @@ module openflowplugin-extension-nicira-match {
     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
         "Nicira openflow match extensions.";
@@ -115,6 +115,33 @@ module openflowplugin-extension-nicira-match {
     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;
@@ -301,6 +328,61 @@ module openflowplugin-extension-nicira-match {
             }
         }
     }
+    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 {
@@ -322,12 +404,21 @@ module openflowplugin-extension-nicira-match {
         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