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 {
}
}
}
-
+
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;
}
}
-
+
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;
}
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;
}
leaf duration_nsec {
type uint32;
}
-
+
leaf duration_sec {
type uint32;
}
leaf byte_count {
type uint64;
}
-
+
container match {
uses match:match;
}
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;
+ }
+ }
}