Add multipart request message serializers
[openflowplugin.git] / model / model-flow-base / src / main / yang / opendaylight-flow-types.yang
index c6f72046906a8b119257109c641782509ebfa147..ce4baf673802d2024116ea96c630f393a34704bf 100644 (file)
@@ -8,20 +8,21 @@ module opendaylight-flow-types {
     import opendaylight-meter-types {prefix meter; revision-date "2013-09-18";}
     import openflow-protocol { prefix ofproto; revision-date "2013-07-31"; }
     import openflow-types { prefix oft; revision-date "2013-07-31"; }
+    import opendaylight-multipart-types { prefix multipart; revision-date "2017-01-12"; }
 
     revision "2013-10-26" {
         description "Initial revision of flow service";
     }
-    
+
     typedef flow-ref {
         type instance-identifier;
     }
-    
+
     typedef flow-cookie {
         description "openflow specific type - flow cookie / flow cookie mask";
         type uint64;
     }
-    
+
     typedef output-port-values {
         type enumeration {
             enum MAX {
@@ -74,47 +75,47 @@ module opendaylight-flow-types {
                  }
              }
             }
-             
+
             case write-metadata-case {
                 container write-metadata {
                  leaf metadata {
                      type uint64;
                  }
-                 
+
                  leaf metadata-mask {
                      type uint64;
                  }
              }
             }
-             
+
             case write-actions-case {
                 container write-actions {
                  uses action:action-list;
              }
             }
-             
+
             case apply-actions-case {
                 container apply-actions {
                  uses action:action-list;
              }
             }
-             
+
             case clear-actions-case {
                 container clear-actions {
                  uses action:action-list;
              }
             }
-             
+
             case meter-case {
                 container meter {
                      leaf meter-id {
                         type meter:meter-id;
-                     } 
+                     }
                  }
              }
          }
     }
-    
+
     typedef flow-mod-flags {
         type bits {
             bit CHECK_OVERLAP;
@@ -145,68 +146,68 @@ module opendaylight-flow-types {
 
             }
      }
-    
+
     grouping generic_flow_attributes {
         leaf priority {
             type uint16;
         }
-        
+
         leaf idle-timeout {
             type uint16;
         }
-        
+
         leaf hard-timeout {
             type uint16;
         }
-        
+
         leaf cookie {
             type flow-cookie;
         }
-        
+
         leaf table_id {
             type uint8;
         }
     }
-    
+
     grouping flow {
         container match {
             uses match:match;
         }
-        
+
         container instructions {
             uses instruction-list;
-        }          
-         
+        }
+
         uses generic_flow_attributes;
-        
+
         leaf container-name {
-            type string; 
+            type string;
         }
-        
+
         leaf cookie_mask {
             type flow-cookie;
         }
-        
+
         leaf buffer_id {
             type uint32;
         }
-        
+
         leaf out_port {
             type uint64;
         }
-        
+
         leaf out_group {
             type uint32;
         }
-        
+
         leaf flags {
             type flow-mod-flags;
         }
-        
+
         leaf flow-name {
             type string;
         }
-        
+
         leaf installHw {
             type boolean;
         }
@@ -244,20 +245,20 @@ module opendaylight-flow-types {
     grouping flow-table-statistics {
         leaf active {
             type yang:counter64;
-        } 
+        }
 
         leaf lookup {
             type yang:counter64;
         }
 
         leaf matched {
-            type yang:counter64;   
+            type yang:counter64;
         }
     }
-    
+
     grouping flow-mod-removed {
         uses generic_flow_attributes;
-        
+
         leaf removed_reason {
             type removed-flow-reason;
         }
@@ -265,7 +266,7 @@ module opendaylight-flow-types {
         leaf duration_nsec {
             type uint32;
         }
-        
+
         leaf duration_sec {
             type uint32;
         }
@@ -277,7 +278,7 @@ module opendaylight-flow-types {
         leaf byte_count {
             type uint64;
         }
-               
+
         container match {
             uses match:match;
         }
@@ -291,4 +292,13 @@ module opendaylight-flow-types {
             type oft:flow-mod-command;
         }
     }
+
+    augment "/multipart:multipart-request/multipart:multipart-request-body" {
+        case multipart-request-flow-stats {
+            uses flow;
+        }
+        case multipart-request-flow-aggregate-stats {
+            uses flow;
+        }
+    }
 }