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=d84b2f08511f466848886cb75aa4f418341d5563;hp=d26ca667996f164f9ca7f8b57c6df25a7c381563;hb=c541f7868e6e2d654b8080b5426bb12a39bddf11;hpb=90e562e3dcc64e46a657ef4ab3047b2b709339c7 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 d26ca66799..d84b2f0851 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 { @@ -77,17 +112,24 @@ module opendaylight-meter-types { } } + typedef meter-ref { + type instance-identifier; + } + grouping meter { - uses meter-flags; + leaf flags { + type meter-flags; + } leaf meter-id { type meter-id; - } + } - leaf install { + leaf barrier { type boolean; } + leaf meter-name { type string; } @@ -98,13 +140,15 @@ 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 { @@ -122,7 +166,7 @@ module opendaylight-meter-types { grouping meter-statistics { leaf meter-id { - type int32; + type meter-id; } leaf flow-count { @@ -148,9 +192,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,13 +214,17 @@ module opendaylight-meter-types { type yang:counter32; } - leaf band_types { - type yang:counter32; - } + leaf-list meter-band-supported { + type identityref { + base meter-band; + } + } - leaf capabilities { - type yang:counter32; - } + leaf-list meter-capabilities-supported { + type identityref { + base meter-capability; + } + } leaf max_bands { type uint8; @@ -190,30 +238,22 @@ module opendaylight-meter-types { grouping meter-stats-config-request { list meter-stats { key "meter-id"; - leaf meter-id { - type int32; + 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-reply { list meter-config-stats { - key "meter-config-order"; - leaf meter-config-order { - type int32; - } - + key "meter-id"; uses meter; } }