Merge "OPNFLWPLUG-1006: ODL cannot control switch with pre-existing meters"
[openflowplugin.git] / model / model-flow-base / src / main / yang / opendaylight-match-types.yang
index 1c7f62d673886bfc76089b22e9b10c64c0d6f8b6..86a5d13df46c058e50fb543931ca759e258fdaef 100644 (file)
@@ -7,6 +7,7 @@ module opendaylight-match-types {
     import opendaylight-l2-types {prefix l2t;revision-date "2013-08-27";}
     import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
     import opendaylight-arbitrary-bitmask-fields {prefix mask; revision-date "2016-01-30";}
+    import opendaylight-ipv6-arbitrary-bitmask-fields {prefix ipv6-arbitrary-mask; revision-date "2016-02-24";}
 
     revision "2013-10-26" {
         description "Initial revision of match types";
@@ -32,6 +33,16 @@ module opendaylight-match-types {
         }
     }
 
+    grouping packet-type-fields {
+        leaf packet-type {
+            description
+              "Outermost header type of a packet. It's a 4 byte
+                value, the 2 most significant bytes are the
+                namespace and the next 2 bytes are the type.";
+            type uint32;
+        }
+    }
+
      /** Match Groupings **/
     grouping "ethernet-match-fields" {
         container ethernet-source {
@@ -270,8 +281,13 @@ module opendaylight-match-types {
         }
     }
 
-    grouping "tcp-flag-match-fields" {
-        leaf tcp-flag {
+    grouping "tcp-flags-match-fields" {
+        leaf tcp-flags {
+            description "Tcp flags for match";
+            type uint16;
+        }
+        leaf tcp-flags-mask {
+            description "Mask for tcp flags";
             type uint16;
         }
     }
@@ -296,6 +312,10 @@ module opendaylight-match-types {
             type inv:node-connector-id;
         }
 
+        container packet-type-match {
+            uses packet-type-fields;
+        }
+
         container "metadata" {
             uses of-metadata;
         }
@@ -333,6 +353,9 @@ module opendaylight-match-types {
             case "ipv6-match" {
                 uses "ipv6-match-fields";
             }
+            case "ipv6-match-arbitrary-bit-mask"{
+                uses ipv6-arbitrary-mask:ipv6-match-arbitrary-bitmask-fields;
+            }
             case "arp-match" {
                 uses "arp-match-fields";
             }
@@ -365,8 +388,8 @@ module opendaylight-match-types {
             uses "protocol-match-fields";
         }
 
-        container tcp-flag-match {
-            uses "tcp-flag-match-fields";
+        container tcp-flags-match {
+            uses "tcp-flags-match-fields";
         }
     }
 }