[ovs-dev] [PATCH] ofp-util: Add missing 'break; ' in bad_group_cmd().
Ben Pfaff
blp at nicira.com
Thu Apr 16 18:28:55 UTC 2015
Otherwise you get an assertion failure in place of a helpful error message.
Also fix a nearby style violation and add a pair of tests to prevent
regression.
Found by LLVM scan-build.
Reported-by: Kevin Lo <kevlo at FreeBSD.org>
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
lib/ofp-util.c | 4 +++-
tests/ofproto.at | 10 ++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/lib/ofp-util.c b/lib/ofp-util.c
index 277fdfe..2eb199f 100644
--- a/lib/ofp-util.c
+++ b/lib/ofp-util.c
@@ -8170,7 +8170,8 @@ ofputil_encode_ofp15_group_mod(enum ofp_version ofp_version,
}
static void
-bad_group_cmd(enum ofp15_group_mod_command cmd) {
+bad_group_cmd(enum ofp15_group_mod_command cmd)
+{
const char *opt_version;
const char *version;
const char *cmd_str;
@@ -8187,6 +8188,7 @@ bad_group_cmd(enum ofp15_group_mod_command cmd) {
case OFPGC15_REMOVE_BUCKET:
version = "1.5";
opt_version = "15";
+ break;
default:
OVS_NOT_REACHED();
diff --git a/tests/ofproto.at b/tests/ofproto.at
index 5ae3139..d64b280 100644
--- a/tests/ofproto.at
+++ b/tests/ofproto.at
@@ -454,6 +454,11 @@ AT_CHECK([STRIP_XIDS stdout], [0], [dnl
OFPST_GROUP_DESC reply (OF1.5):
group_id=1234,type=all,bucket=bucket_id:0,actions=output:0,bucket=bucket_id:1,actions=output:1,bucket=bucket_id:10,actions=output:10,bucket=bucket_id:11,actions=output:11,bucket=bucket_id:12,actions=output:12,bucket=bucket_id:13,actions=output:13,bucket=bucket_id:14,actions=output:14,bucket=bucket_id:15,actions=output:15,bucket=bucket_id:20,actions=output:20,bucket=bucket_id:21,actions=output:21
])
+
+# Negative check.
+AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn insert-buckets br0 group_id=1234,command_bucket_id=first,bucket=bucket_id:0,actions=output:0,bucket=bucket_id:1,actions=output:1], [1], [],
+ [insert-bucket needs OpenFlow 1.5 or later ('-O OpenFlow15')
+])
OVS_VSWITCHD_STOP
AT_CLEANUP
@@ -508,6 +513,11 @@ OFPT_GROUP_MOD (OF1.5):
REMOVE_BUCKET command_bucket_id:1,group_id=1234
])
OVS_VSWITCHD_STOP
+
+# Negative check.
+AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn remove-buckets br0 group_id=1234,command_bucket_id=last], [1], [],
+ [ovs-ofctl: insert-bucket needs OpenFlow 1.5 or later ('-O OpenFlow15')
+])
AT_CLEANUP
dnl This is really bare-bones.
--
2.1.3
More information about the dev
mailing list