[ovs-dev] [meter-bugs 6/6] ofp-util: Report OFPMMFC_BAD_FLAGS for bad band flags.
Jarno Rajahalme
jrajahalme at nicira.com
Tue Nov 5 17:41:38 UTC 2013
Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>
On Nov 4, 2013, at 10:42 PM, Ben Pfaff <blp at nicira.com> wrote:
> It doesn't make sense to specify both kbps and pkt/s, because the two units
> are mutually exclusive.
>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
> lib/ofp-util.c | 4 ++++
> tests/ofp-print.at | 10 ++++++++++
> 2 files changed, 14 insertions(+)
>
> diff --git a/lib/ofp-util.c b/lib/ofp-util.c
> index 16b09f6..77804a6 100644
> --- a/lib/ofp-util.c
> +++ b/lib/ofp-util.c
> @@ -1746,6 +1746,10 @@ ofputil_decode_meter_mod(const struct ofp_header *oh,
> enum ofperr error;
>
> mm->meter.flags = ntohs(omm->flags);
> + if (mm->meter.flags & OFPMF13_KBPS &&
> + mm->meter.flags & OFPMF13_PKTPS) {
> + return OFPERR_OFPMMFC_BAD_FLAGS;
> + }
> mm->meter.bands = bands->data;
>
> error = ofputil_pull_bands(&b, b.size, &mm->meter.n_bands, bands);
> diff --git a/tests/ofp-print.at b/tests/ofp-print.at
> index 9d01be3..82e8c3d 100644
> --- a/tests/ofp-print.at
> +++ b/tests/ofp-print.at
> @@ -1875,6 +1875,16 @@ OFPT_METER_MOD (OF1.3) (xid=0x28a62652): ***decode error: OFPMMFC_BAD_COMMAND***
> ])
> AT_CLEANUP
>
> +AT_SETUP([OFPT_METER_MOD request - bad flags - OF1.3])
> +AT_KEYWORDS([ofp-print])
> +AT_CHECK([ovs-ofctl ofp-print "\
> +04 1d 00 20 82 b3 a1 a4 00 00 00 03 00 00 00 01 \
> +00 01 00 10 00 00 00 02 00 00 00 02 00 00 00 00 \
> +"], [0], [dnl
> +OFPT_METER_MOD (OF1.3) (xid=0x82b3a1a4): ***decode error: OFPMMFC_BAD_FLAGS***
> +])
> +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
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list