ofp-util: Add missing 'break;' in bad_group_cmd().
authorBen Pfaff <blp@nicira.com>
Wed, 22 Apr 2015 03:00:50 +0000 (20:00 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 22 Apr 2015 03:02:45 +0000 (20:02 -0700)
Otherwise you get an assertion failure in place of a helpful error message.

Also fix typo where the "remove-bucket" command was output as
"insert-bucket".

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@FreeBSD.org>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Andy Zhou <azhou@nicira.com>
lib/ofp-util.c
tests/ofproto.at

index 277fdfe..60cc674 100644 (file)
@@ -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();
@@ -8210,7 +8212,7 @@ bad_group_cmd(enum ofp15_group_mod_command cmd) {
         break;
 
     case OFPGC15_REMOVE_BUCKET:
-        cmd_str = "insert-bucket";
+        cmd_str = "remove-bucket";
         break;
 
     default:
index acab26e..3d15fea 100644 (file)
@@ -455,10 +455,13 @@ 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 test.
+# Negative tests.
 AT_CHECK([ovs-ofctl -O OpenFlow15 -vwarn insert-buckets br0 group_id=1234,command_bucket_id=0xffffff01,bucket=bucket_id:0,actions=output:0,bucket=bucket_id:1,actions=output:1], [1], [],
   [ovs-ofctl: invalid command bucket id 4294967041
 ])
+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], [],
+  [ovs-ofctl: insert-bucket needs OpenFlow 1.5 or later ('-O OpenFlow15')
+])
 OVS_VSWITCHD_STOP
 AT_CLEANUP
 
@@ -512,6 +515,10 @@ OFPT_ERROR (OF1.5): OFPGMFC_UNKNOWN_BUCKET
 OFPT_GROUP_MOD (OF1.5):
  REMOVE_BUCKET command_bucket_id:1,group_id=1234
 ])
+# Negative test.
+AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn remove-buckets br0 group_id=1234,command_bucket_id=last], [1], [],
+  [ovs-ofctl: remove-bucket needs OpenFlow 1.5 or later ('-O OpenFlow15')
+])
 OVS_VSWITCHD_STOP
 AT_CLEANUP