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=4145977f635c2cb59b2d9564712d087aad6a378b;hb=f27f2337e171c9f944de55a3ac6650b3b1ec0af2;hp=cd364b5402425fe63cc7c35bb78fed79b6a519ac;hpb=fe024ad74b8656c3ee61b9ddff6009a779aa2189;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..4145977f63 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,82 @@ 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; - } - } - - case controller-action { - leaf max-length { - type uint16 { - range "0..65294"; - } - } - } - - case set-queue-action { - leaf queue { - type string; // TODO: define queues - } - } - - case pop-mpls-action { - leaf ethernet-type { - type uint16; // TODO: define ethertype type - } + + grouping instruction-list { + list instruction { + key "order"; + leaf order { + type int32; } + uses instruction; + } + } - case set-mpls-ttl-action { - leaf mpls-ttl { + grouping instruction { + choice instruction { + case go-to-table { + leaf table_id { type uint8; } } - - case set-nw-ttl-action { - leaf nw-ttl { - type uint8; + + case write-metadata { + leaf metadata { + type uint64; + } + + leaf metadata-mask { + type uint64; } } - - case push-pbb-action { - + + case write-actions { + uses action:action-list; } - - case push-mpls-action { - + + case apply-actions { + uses action:action-list; } - - case push-vlan-action { - + + case clear-actions { + uses action:action-list; } + + case meter { + leaf meter { + type string; + } + } } } - + + typedef flow-mod-flags { + type bits { + bit CHECK_OVERLAP; + bit RESET_COUNTS; + bit NO_PKT_COUNTS; + bit NO_BYT_COUNTS; + bit SEND_FLOW_REM; + } + } + grouping flow { container match { uses match:match; } - list action { - key "order"; - leaf order { - type int32; - } - uses action; + + container instructions { + uses instruction-list; } + leaf priority { type uint16; } @@ -91,6 +93,52 @@ module opendaylight-flow-types { leaf cookie { type uint64; } + + leaf container-name { + type string; + } + + leaf cookie_mask { + type uint8; + } + + leaf table_id { + type uint8; + } + + 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 {