+++ /dev/null
-module opendaylight-flow-types {
- namespace "urn:opendaylight:flow:types";
- prefix flow;
-
- import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
- import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
- import opendaylight-match-types {prefix match; revision-date "2013-10-26";}
- import opendaylight-action-types {prefix action;}
-
- revision "2013-10-26" {
- description "Initial revision of flow service";
- }
-
- grouping instruction-list {
- list instruction {
- key "order";
- leaf order {
- type int32;
- }
- uses instruction;
- }
- }
-
- grouping instruction {
- choice instruction {
- case go-to-table {
- leaf table_id {
- type uint8;
- }
- }
-
- case write-metadata {
- leaf metadata {
- type uint64;
- }
-
- leaf metadata-mask {
- type uint64;
- }
- }
-
- case write-actions {
- uses action:action-list;
- }
-
- case apply-actions {
- uses action:action-list;
- }
-
- case clear-actions {
- uses action:action-list;
- }
-
- case meter {
- leaf meter {
- type string;
- }
-
- leaf meter-id {
- type uint32;
- }
- }
- }
- }
-
- typedef flow-mod-flags {
- type bits {
- bit CHECK_OVERLAP;
- bit RESET_COUNTS;
- bit NO_PKT_COUNTS;
- bit NO_BYT_COUNTS;
- bit SEND_FLOW_REM;
- }
- }
-
- typedef removed_reason_flags {
- type bits {
- bit IDLE_TIMEOUT;
- bit HARD_TIMEOUT;
- bit DELETE;
- bit GROUP_DELETE;
- }
- }
-
- grouping generic_flow_attributes {
- leaf priority {
- type uint16;
- }
-
- leaf idle-timeout {
- type uint16;
- }
-
- leaf hard-timeout {
- type uint16;
- }
-
- leaf cookie {
- type uint64;
- }
-
- 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;
- }
-
- leaf cookie_mask {
- type uint64;
- }
-
- 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;
- }
-
- leaf barrier {
- type boolean;
- }
-
- leaf strict {
- type boolean;
- default "false";
- }
-
- }
-
- grouping flow-statistics {
- leaf packet-count {
- type yang:counter64;
- }
-
- leaf byte-count {
- type yang:counter64;
- }
-
- container duration {
- leaf second {
- type yang:counter64;
- }
- leaf nanosecond {
- type yang:counter64;
- }
- }
- }
-
- grouping flow-table-statistics {
- leaf active {
- type yang:counter64;
- }
-
- leaf lookup {
- type yang:counter64;
- }
-
- leaf matched {
- type yang:counter64;
- }
- }
-
- grouping flow-mod-removed {
- uses generic_flow_attributes;
-
- leaf removed_reason {
- type removed_reason_flags;
- }
-
- leaf duration_nsec {
- type uint32;
- }
-
- leaf duration_sec {
- type uint32;
- }
-
- leaf packet_count {
- type uint64;
- }
-
- leaf byte_count {
- type uint64;
- }
-
- container match {
- uses match:match;
- }
- }
-}
\ No newline at end of file