X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmodel%2Fmodel-flow-base%2Fsrc%2Fmain%2Fyang%2Fflow-types.yang;h=67c6933cc7b3158d5435b2929cfae9bfaa99dad5;hb=f1f53bd8a155dab61df1c9b662bbaefe2dec4bc3;hp=cd364b5402425fe63cc7c35bb78fed79b6a519ac;hpb=738d46bed116293e3e42171ad2035ab805b0b2be;p=controller.git diff --git a/opendaylight/md-sal/model/model-flow-base/src/main/yang/flow-types.yang b/opendaylight/md-sal/model/model-flow-base/src/main/yang/flow-types.yang index cd364b5402..67c6933cc7 100644 --- a/opendaylight/md-sal/model/model-flow-base/src/main/yang/flow-types.yang +++ b/opendaylight/md-sal/model/model-flow-base/src/main/yang/flow-types.yang @@ -2,80 +2,87 @@ module opendaylight-flow-types { namespace "urn:opendaylight:flow:types"; prefix flow; - import ietf-inet-types {prefix inet;} - import opendaylight-match-types {prefix match;} - import ietf-yang-types {prefix yang;} + 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-08-19" { + revision "2013-10-26" { description "Initial revision of flow service"; } - - grouping action { - choice action { - case output-action { - leaf-list output-node-connector { - type inet:uri; - } + + grouping instruction-list { + list instruction { + key "order"; + leaf order { + type int32; } + uses instruction; + } + } - case controller-action { - leaf max-length { - type uint16 { - range "0..65294"; - } + grouping instruction { + choice instruction { + case go-to-table { + leaf table_id { + type uint8; } } - - case set-queue-action { - leaf queue { - type string; // TODO: define queues + + case write-metadata { + leaf metadata { + type uint64; } - } - - case pop-mpls-action { - leaf ethernet-type { - type uint16; // TODO: define ethertype type + + leaf metadata-mask { + type uint64; } } - - case set-mpls-ttl-action { - leaf mpls-ttl { - type uint8; - } + + case write-actions { + uses action:action-list; } - - case set-nw-ttl-action { - leaf nw-ttl { - type uint8; - } + + case apply-actions { + uses action:action-list; } - - case push-pbb-action { - - } - - case push-mpls-action { - - } - - case push-vlan-action { - + + case clear-actions { + uses action:action-list; } + + case meter { + leaf meter { + type string; + } + + leaf meter-id { + type uint32; + } + } } } - - grouping flow { - container match { - uses match:match; + + typedef flow-mod-flags { + type bits { + bit CHECK_OVERLAP; + bit RESET_COUNTS; + bit NO_PKT_COUNTS; + bit NO_BYT_COUNTS; + bit SEND_FLOW_REM; } - list action { - key "order"; - leaf order { - type int32; - } - uses action; + } + + 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; } @@ -91,6 +98,64 @@ module opendaylight-flow-types { 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 { @@ -125,4 +190,32 @@ module opendaylight-flow-types { 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