2
0
mirror of https://github.com/openvswitch/ovs synced 2025-09-03 15:55:19 +00:00

ofp-util: Report OFPMMFC_BAD_BAND for bad band type in meter mod decoding.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
This commit is contained in:
Ben Pfaff
2013-11-04 22:32:58 -08:00
parent b2a27ddc46
commit f99d6aa01f
2 changed files with 13 additions and 0 deletions

View File

@@ -1698,6 +1698,9 @@ ofputil_pull_bands(struct ofpbuf *msg, size_t len, uint16_t *n_bands,
}
mb = ofpbuf_put_uninit(bands, sizeof *mb);
mb->type = ntohs(ombh->type);
if (mb->type != OFPMBT13_DROP && mb->type != OFPMBT13_DSCP_REMARK) {
return OFPERR_OFPMMFC_BAD_BAND;
}
mb->rate = ntohl(ombh->rate);
mb->burst_size = ntohl(ombh->burst_size);
mb->prec_level = (mb->type == OFPMBT13_DSCP_REMARK) ?

View File

@@ -1856,6 +1856,16 @@ type=drop rate=1024 burst_size=128
])
AT_CLEANUP
AT_SETUP([OFPT_METER_MOD request - bad band - OF1.3])
AT_KEYWORDS([ofp-print])
AT_CHECK([ovs-ofctl ofp-print "\
04 1d 00 20 85 01 d7 38 00 00 00 00 00 00 00 01
00 05 00 10 00 00 00 02 00 00 00 02 00 00 00 00
"], [0], [dnl
OFPT_METER_MOD (OF1.3) (xid=0x8501d738): ***decode error: OFPMMFC_BAD_BAND***
])
AT_CLEANUP
AT_SETUP([OFPST_METER request - OF1.3])
AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
AT_CHECK([ovs-ofctl ofp-print "041200180000000200090000000000000000000100000000"], [0], [dnl