X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fmodel%2Fmodel-flow-base%2Fsrc%2Fmain%2Fyang%2Fmeter-types.yang;h=b380af22129c44f068bb02d50aa57283e8bfbac0;hp=20353af7852bd0b46834e7ad61364b222ec89640;hb=59d721b92d6ff421f60601d22de7b272836753dd;hpb=9d2212483a4fca225d5ad58e7f924f58b638ddb6 diff --git a/opendaylight/md-sal/model/model-flow-base/src/main/yang/meter-types.yang b/opendaylight/md-sal/model/model-flow-base/src/main/yang/meter-types.yang index 20353af785..b380af2212 100644 --- a/opendaylight/md-sal/model/model-flow-base/src/main/yang/meter-types.yang +++ b/opendaylight/md-sal/model/model-flow-base/src/main/yang/meter-types.yang @@ -11,30 +11,65 @@ module opendaylight-meter-types { } typedef meter-id { - type uint32; + type uint32; + } + typedef band-id { + type uint32; } - grouping meter-flags { - leaf flags { - type bits { - bit meter-kbps; - bit meter-pktps; - bit meter-burst; - bit meter-stats; - } - } + typedef meter-flags { + type bits { + bit meter-kbps; + bit meter-pktps; + bit meter-burst; + bit meter-stats; + } } - grouping meter-band-type { - leaf flags { - type bits { - bit ofpmbt-drop; - bit ofpmbt-dscp-remark; - bit ofpmbt-experimenter; - } + identity meter-capability { + description "Base identity for all the supported meter capabilities/flags"; + } + identity meter-kbps { + base meter-capability; + description "Rate value in kb/s (kilo-bit per second)"; + } + identity meter-pktps { + base meter-capability; + description "Rate value in packet/sec."; + } + identity meter-burst { + base meter-capability; + description "Do burst size."; + } + identity meter-stats { + base meter-capability; + description "Collect statistics."; + } + + typedef meter-band-type { + type bits { + bit ofpmbt-drop; + bit ofpmbt-dscp-remark; + bit ofpmbt-experimenter; } } + identity meter-band { + description "Base identity for all the band type available"; + } + identity meter-band-drop { + base meter-band; + description "Drop packet"; + } + identity meter-band-dscp-remark { + base meter-band; + description "Remark DSCP in the IP header"; + } + identity meter-band-experimenter { + base meter-band; + description "Experimenter meter band"; + } + grouping band-type { choice band-type { case drop { @@ -79,7 +114,9 @@ module opendaylight-meter-types { grouping meter { - uses meter-flags; + leaf flags { + type meter-flags; + } leaf meter-id { type meter-id; @@ -98,15 +135,21 @@ module opendaylight-meter-types { container meter-band-headers { list meter-band-header { - key "order"; - leaf order { - type int32; + key "band-id"; + leaf band-id { + type band-id; } container meter-band-types { - uses meter-band-type; + leaf flags { + type meter-band-type; + } } + leaf rate { + type uint32; + } + leaf burst-size { type uint32; } @@ -115,20 +158,10 @@ module opendaylight-meter-types { } } - grouping meter-stats-config-request { - list meter-stats { - key "meter-id"; - - leaf meter-id { - type int32; - } - } - } - grouping meter-statistics { leaf meter-id { - type int32; + type meter-id; } leaf flow-count { @@ -154,9 +187,9 @@ module opendaylight-meter-types { container meter-band-stats { list band-stat { - key "order"; - leaf order { - type int32; + key "band-id"; + leaf band-id { + type band-id; } leaf packet-band-count { @@ -170,55 +203,58 @@ module opendaylight-meter-types { } } + grouping meter-features { + + leaf max_meter { + type yang:counter32; + } + + leaf-list meter-band-supported { + type identityref { + base meter-band; + } + } + + leaf-list meter-capabilities-supported { + type identityref { + base meter-capability; + } + } + + leaf max_bands { + type uint8; + } + + leaf max_color { + type uint8; + } + } + + grouping meter-stats-config-request { + list meter-stats { + key "meter-id"; + leaf meter-id { + type meter-id; + } + } + } + grouping meter-statistics-reply { list meter-stats { - key "meter-stats-order"; - leaf meter-stats-order { - type int32; - } + key "meter-id"; uses meter-statistics; } } - grouping meter-config-stats { + grouping meter-config-stats-reply { list meter-config-stats { - key "meter-config-order"; - - leaf meter-config-order { - type int32; - } - + key "meter-id"; uses meter; } } - grouping meter-features { - list meter-features { - key "meter-feature-order"; - - leaf meter-feature-order { - type yang:counter32; - } - - leaf max_meter { - type yang:counter32; - } - - leaf band_types { - type yang:counter32; - } - - leaf capabilities { - type yang:counter32; - } - - leaf max_bands { - type uint8; - } - - leaf max_color { - type uint8; - } - } - } + grouping meter-features-reply { + uses meter-features; + } + } \ No newline at end of file