X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fsal%2Fmodel%2Fmodel-flow-base%2Fsrc%2Fmain%2Fyang%2Fgroup-types.yang;fp=opendaylight%2Fsal%2Fyang-prototype%2Fsal%2Fmodel%2Fmodel-flow-base%2Fsrc%2Fmain%2Fyang%2Fgroup-types.yang;h=626eabd16a5a452beea20945957d71c17d117912;hb=3db3ae893da68420108ed02d9e49ac2f08125503;hp=0000000000000000000000000000000000000000;hpb=9ab44adbd6aa7bf56ecd0ad8155f41b5a28e72a2;p=controller.git diff --git a/opendaylight/sal/yang-prototype/sal/model/model-flow-base/src/main/yang/group-types.yang b/opendaylight/sal/yang-prototype/sal/model/model-flow-base/src/main/yang/group-types.yang new file mode 100644 index 0000000000..626eabd16a --- /dev/null +++ b/opendaylight/sal/yang-prototype/sal/model/model-flow-base/src/main/yang/group-types.yang @@ -0,0 +1,175 @@ +module opendaylight-group-types { + namespace "urn:opendaylight:group:types"; + prefix group; + + import ietf-inet-types {prefix inet;} + import ietf-yang-types {prefix yang;} + import opendaylight-flow-types {prefix flow-types;} + + revision "2013-09-17" { + description "Initial revision of group service"; + } + + typedef group-ref { + type instance-identifier; + } + + grouping group-types { + leaf group-type { + type enumeration { + enum group-all; + enum group_select; + enum group_indirect; + enum group_ff; + } + } + } + + grouping group { + + uses group-types; + + leaf group-id { + type group-ref; + } + + container buckets { + list bucket { + key "order"; + leaf order { + type int32; + } + + leaf weight { + type uint16; + } + + leaf watch_port { + type uint32; + } + + leaf watch_group { + type uint32; + } + + container actions { + list action { + key "action-order"; + leaf action-order { + type int32; + } + + uses flow-types:action; + } + } + } + } + } + + grouping group-statistics-request { + list group-stats { + key "group-id"; + + leaf group-id { + type int32; + } + } + } + + grouping group-statistics { + + leaf group-id { + type int32; + } + + leaf ref-count { + type yang:counter32; + } + + leaf packet-count { + type yang:counter64; + } + + leaf byte-count { + type yang:counter64; + } + + container duration { + leaf second { + type yang:counter32; + } + leaf nanosecond { + type yang:counter32; + } + } + + container buckets { + list bucket-counter { + key "order"; + leaf order { + type int32; + } + + leaf packet-count { + type yang:counter64; + } + + leaf byte-count { + type yang:counter64; + } + } + } + } + + grouping group-statistics-reply { + list group-stats { + key "group-stats-order"; + leaf group-stats-order { + type int32; + } + + uses group-statistics; + } + } + + grouping group-desc-stats { + list group-desc-stats { + key "order-id"; + + leaf order-id { + type int32; + } + + uses group; + } + } + + grouping group-features { + list group-features { + key "order"; + leaf order { + type int32; + } + + uses group-types; + type capabilities { + enum select-weight; + enum select-liveness; + enum chaining; + enum chaining-checks; + } + + leaf-list max-groups { + type uint32; + description "Maximum number of groups for each type"; + max-elements 4; + } + + leaf-list actions { + type uint32; + description "Bitmap number OFPAT_* that are supported"; + max-elements 4; + } + } + } +} \ No newline at end of file