}
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 {
}
}
+ 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;
}
}
+ 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 {
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 {
grouping meter-statistics {
leaf meter-id {
- type int32;
+ type meter-id;
}
leaf flow-count {
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 {
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;
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;
}
}