module opendaylight-meter-types { namespace "urn:opendaylight:meter:types"; prefix meter; import ietf-inet-types {prefix inet; revision-date "2010-09-24";} import ietf-yang-types {prefix yang; revision-date "2010-09-24";} revision "2013-09-18" { description "Initial revision of meter service"; } typedef meter-id { type uint32; } // field types identity meter-flags { description "Base identity for match Fields"; } typedef meter-flags { type bits { bit meter-kbps; bit meter-pktps; bit meter-burst; bit meter-stats; } } typedef meter-band-type { type bits { bit ofpmbt-drop; bit ofpmbt-dscp-remark; bit ofpmbt-experimenter; } } grouping band-type { choice band-type { case drop { leaf rate { type uint32; } leaf burst-size { type uint32; } } case dscp-remark { leaf rate { type uint32; } leaf burst-size { type uint32; } leaf perc_level { type uint8; } } case experimenter { leaf rate { type uint32; } leaf burst-size { type uint32; } leaf experimenter { type uint32; } } } } grouping meter { leaf flags { type meter-flags; } leaf meter-id { type meter-id; } leaf install { type boolean; } leaf meter-name { type string; } leaf container-name { type string; } container meter-band-headers { list meter-band-header { key "order"; leaf order { type int32; } container meter-band-types { leaf flags { type meter-band-type; } } leaf rate { type uint32; } leaf burst-size { type uint32; } uses band-type; } } } grouping meter-statistics { leaf meter-id { type int32; } leaf flow-count { type yang:counter32; } leaf packet-in-count { type yang:counter64; } leaf byte-in-count { type yang:counter64; } container duration { leaf second { type yang:counter32; } leaf nanosecond { type yang:counter32; } } container meter-band-stats { list band-stat { key "order"; leaf order { type int32; } leaf packet-band-count { type yang:counter64; } leaf byte-band-count { type yang:counter64; } } } } grouping meter-features { 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-stats-config-request { list meter-stats { key "meter-id"; leaf meter-id { type int32; } } } grouping meter-statistics-reply { list meter-stats { key "meter-stats-order"; leaf meter-stats-order { type int32; } uses meter-statistics; } } grouping meter-config-stats-reply { list meter-config-stats { key "meter-config-order"; leaf meter-config-order { type int32; } uses meter; } } grouping meter-features-reply { uses meter-features; } }