8 #ifndef COFMETERBANDS_H_
9 #define COFMETERBANDS_H_ 1
16 #include "rofl/common/openflow/cofmeterband.h"
32 uint8_t of_version = rofl::openflow::OFP_VERSION_UNKNOWN);
76 set_version(uint8_t of_version) {
77 this->of_version = of_version;
78 for (std::map<unsigned int, cofmeter_band_drop>::iterator
79 it = mbs_drop.begin(); it != mbs_drop.end(); ++it) {
80 it->second.set_version(of_version);
82 for (std::map<unsigned int, cofmeter_band_dscp_remark>::iterator
83 it = mbs_dscp_remark.begin(); it != mbs_dscp_remark.end(); ++it) {
84 it->second.set_version(of_version);
86 for (std::map<unsigned int, cofmeter_band_experimenter>::iterator
87 it = mbs_experimenter.begin(); it != mbs_experimenter.end(); ++it) {
88 it->second.set_version(of_version);
96 get_version()
const {
return of_version; };
103 get_num_of_mbs()
const;
109 std::map<unsigned int, cofmeter_band_drop>&
110 set_mbs_drop() {
return mbs_drop; };
116 const std::map<unsigned int, cofmeter_band_drop>&
117 get_mbs_drop()
const {
return mbs_drop; };
123 std::map<unsigned int, cofmeter_band_dscp_remark>&
124 set_mbs_dscp_remark() {
return mbs_dscp_remark; };
130 const std::map<unsigned int, cofmeter_band_dscp_remark>&
131 get_mbs_dscp_remark()
const {
return mbs_dscp_remark; };
137 std::map<unsigned int, cofmeter_band_experimenter>&
138 set_mbs_experimenter() {
return mbs_experimenter; };
144 const std::map<unsigned int, cofmeter_band_experimenter>&
145 get_mbs_experimenter()
const {
return mbs_experimenter; };
155 unsigned int index = 0);
162 drop_meter_band_drop(
163 unsigned int index = 0);
171 unsigned int index = 0);
179 unsigned int index = 0)
const;
187 unsigned int index = 0)
const;
196 add_meter_band_dscp_remark(
197 unsigned int index = 0);
204 drop_meter_band_dscp_remark(
205 unsigned int index = 0);
212 set_meter_band_dscp_remark(
213 unsigned int index = 0);
220 get_meter_band_dscp_remark(
221 unsigned int index = 0)
const;
228 has_meter_band_dscp_remark(
229 unsigned int index = 0)
const;
239 add_meter_band_experimenter(
240 unsigned int index = 0);
247 drop_meter_band_experimenter(
248 unsigned int index = 0);
255 set_meter_band_experimenter(
256 unsigned int index = 0);
263 get_meter_band_experimenter(
264 unsigned int index = 0)
const;
271 has_meter_band_experimenter(
272 unsigned int index = 0)
const;
291 uint8_t *buf,
size_t buflen);
299 uint8_t *buf,
size_t buflen);
307 os <<
rofl::indent(0) <<
"<cofmeterbands version: " << (int)mbs.get_version()
308 <<
" #meter-bands: " << mbs.get_num_of_mbs() <<
" >" << std::endl;
311 for (std::map<unsigned int, cofmeter_band_drop>::const_iterator
312 it = mbs.get_mbs_drop().begin(); it != mbs.get_mbs_drop().end(); ++it) {
316 for (std::map<unsigned int, cofmeter_band_dscp_remark>::const_iterator
317 it = mbs.get_mbs_dscp_remark().begin(); it != mbs.get_mbs_dscp_remark().end(); ++it) {
321 for (std::map<unsigned int, cofmeter_band_experimenter>::const_iterator
322 it = mbs.get_mbs_experimenter().begin(); it != mbs.get_mbs_experimenter().end(); ++it) {
332 std::map<unsigned int, cofmeter_band_drop> mbs_drop;
333 std::map<unsigned int, cofmeter_band_dscp_remark> mbs_dscp_remark;
334 std::map<unsigned int, cofmeter_band_experimenter> mbs_experimenter;
Definition: cofmeterband.h:289
Definition: cofmeterband.h:228
Definition: cofmeterbands.h:24
Definition: cofmeterbands.h:22
Definition: cofmeterband.h:393
Definition: cofmeterbands.h:21
Definition: croflexception.h:27