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=fc9be63ec89f0ec986fa386e6af0df3d1b36b607;hb=c541f7868e6e2d654b8080b5426bb12a39bddf11;hpb=d0b8e3341f823b5fe63ed6c2bbef3a7027222dd3 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 fc9be63ec8..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,12 +11,10 @@ module opendaylight-meter-types { } typedef meter-id { - type uint32; + type uint32; } - - // field types - identity meter-flags { - description "Base identity for match Fields"; + typedef band-id { + type uint32; } typedef meter-flags { @@ -28,6 +26,26 @@ module opendaylight-meter-types { } } + 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; @@ -36,6 +54,22 @@ module opendaylight-meter-types { } } + 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 { @@ -78,6 +112,10 @@ module opendaylight-meter-types { } } + typedef meter-ref { + type instance-identifier; + } + grouping meter { leaf flags { @@ -86,11 +124,12 @@ module opendaylight-meter-types { leaf meter-id { type meter-id; - } + } - leaf install { + leaf barrier { type boolean; } + leaf meter-name { type string; } @@ -101,9 +140,9 @@ 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 { @@ -127,7 +166,7 @@ module opendaylight-meter-types { grouping meter-statistics { leaf meter-id { - type int32; + type meter-id; } leaf flow-count { @@ -153,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 { @@ -175,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; @@ -195,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; } }