From: Ben Pfaff <blp@nicira.com>
Date: Thu, 18 Nov 2010 22:36:53 +0000 (-0800)
Subject: ovs-vsctl: Fix br-set-external-id.
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fbd8715e4b6f7f077a8cef2d0225f9c1a698c104;p=openvswitch

ovs-vsctl: Fix br-set-external-id.

The wrong prerequisite function was being called for set-br-external-id, so
it didn't set up to monitor the right columns, so an assertion failed.
This fixes the problem.

Also, change the test for external IDs so that it will find the regression.
(Running all of the ovs-vsctl commands together caused the column to be
monitored due to another command's intervention.)

Reported-by: Mikael Doverhag <mdoverhag@nicira.com>
Bug #4095.
---

diff --git a/AUTHORS b/AUTHORS
index 036e41e1..3e80eef1 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -52,6 +52,7 @@ Joan Cirer              joan@ev0.net
 John Galgay             john@galgay.net
 Luiz Henrique Ozaki     luiz.ozaki@gmail.com
 Michael Mao             mmao@nicira.com
+Mikael Doverhag         mdoverhag@nicira.com
 Pankaj Thakkar          thakkar@nicira.com
 Paulo Cravero           pcravero@as2594.net
 Peter Balland           peter@nicira.com
diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at
index 152a6585..a05e8055 100644
--- a/tests/ovs-vsctl.at
+++ b/tests/ovs-vsctl.at
@@ -301,7 +301,7 @@ AT_CLEANUP
 AT_SETUP([external IDs])
 AT_KEYWORDS([ovs-vsctl])
 OVS_VSCTL_SETUP
-AT_CHECK([RUN_OVS_VSCTL_TOGETHER(
+AT_CHECK([RUN_OVS_VSCTL_ONELINE(
   [add-br a], 
   [add-port a a1],
   [add-bond a bond0 a2 a3],
diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
index 43aeb01f..acdcaf31 100644
--- a/utilities/ovs-vsctl.c
+++ b/utilities/ovs-vsctl.c
@@ -3236,8 +3236,8 @@ static const struct vsctl_command_syntax all_commands[] = {
     {"br-exists", 1, 1, pre_get_info, cmd_br_exists, NULL, "", RO},
     {"br-to-vlan", 1, 1, pre_get_info, cmd_br_to_vlan, NULL, "", RO},
     {"br-to-parent", 1, 1, pre_get_info, cmd_br_to_parent, NULL, "", RO},
-    {"br-set-external-id", 2, 3, pre_get_info, cmd_br_set_external_id, NULL,
-     "", RW},
+    {"br-set-external-id", 2, 3, pre_cmd_br_set_external_id,
+     cmd_br_set_external_id, NULL, "", RW},
     {"br-get-external-id", 1, 2, pre_cmd_br_get_external_id,
      cmd_br_get_external_id, NULL, "", RO},