Support new matches and actions in ovs nsh patch
[openflowplugin.git] / extension / openflowplugin-extension-nicira / src / main / yang / openflowplugin-extension-nicira-match.yang
index 3f0ce8137247fbfe1da078491994a7e22777f38a..8acbf61d0f994a44af7e065fbaf31c141b719642 100644 (file)
@@ -12,16 +12,16 @@ 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 
+    description
         "Nicira openflow match extensions.";
 
     revision "2014-07-14" {
         description "Initial revision";
     }
-    
+
     identity nxm-nx-reg0-key {
         base ext-gen:extension-key;
     }
@@ -109,6 +109,39 @@ module openflowplugin-extension-nicira-match {
     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;
@@ -176,7 +209,7 @@ module openflowplugin-extension-nicira-match {
     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;
@@ -278,8 +311,80 @@ module openflowplugin-extension-nicira-match {
             }
         }
     }
+    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;
@@ -299,10 +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
@@ -323,13 +439,13 @@ module openflowplugin-extension-nicira-match {
         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";