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 {
grouping meter {
- uses meter-flags;
+ leaf flags {
+ type meter-flags;
+ }
leaf meter-id {
type meter-id;
}
container meter-band-types {
- uses meter-band-type;
+ leaf flags {
+ type meter-band-type;
+ }
}
leaf rate {
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;