summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
717de9f)
Use OUT_OF_METERS when given meter_id is greater than what is supported
by the datapath. Retain the INVALID_METER error code for the meter_ids
outside of the range supported by the specification.
Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
if (mm.command != OFPMC13_DELETE) {
/* Fails also when meters are not implemented by the provider. */
if (mm.command != OFPMC13_DELETE) {
/* Fails also when meters are not implemented by the provider. */
- if (!meter_id || meter_id > ofproto->meter_features.max_meters) {
+ if (meter_id == 0 || meter_id > OFPM13_MAX) {
error = OFPERR_OFPMMFC_INVALID_METER;
goto exit_free_bands;
error = OFPERR_OFPMMFC_INVALID_METER;
goto exit_free_bands;
+ } else if (meter_id > ofproto->meter_features.max_meters) {
+ error = OFPERR_OFPMMFC_OUT_OF_METERS;
+ goto exit_free_bands;
}
if (mm.meter.n_bands > ofproto->meter_features.max_bands) {
error = OFPERR_OFPMMFC_OUT_OF_BANDS;
}
if (mm.meter.n_bands > ofproto->meter_features.max_bands) {
error = OFPERR_OFPMMFC_OUT_OF_BANDS;