[PATCH] Fix adding ports to OVS bridges without VLAN tags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The introduction of the new VLAN code, along with the fix
from 5e465df6be8bcb00f0b4bff831e91f4042fae272, caused the
addition of OVS ports to fail with the following message:

ovs-vsctl: 00002|vsctl|ERR|: missing column name

This fix takes into account the VLAN arguments are optional,
and correctly sets up the command line to run the "ovs-vsctl"
command to add ports to the OVS bridge.

Signed-off-by: Kyle Mestery <kmestery@xxxxxxxxx>
CC: Eric Blake <eblake@xxxxxxxxxx>
---
V2:
  - Use virBufferUse() to check if a buffer is in use. Found
    by Eric Blake.
---
 src/util/virnetdevopenvswitch.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index 00271a0..764f478 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -104,9 +104,15 @@ int virNetDevOpenvswitchAddPort(const char *brname, const char *ifname,
     }
 
     cmd = virCommandNew(OVSVSCTL);
+
+    virCommandAddArgList(cmd, "--", "--may-exist", "add-port",
+                        brname, ifname, NULL);
+
+    if (virBufferUse(&buf) != 0)
+        virCommandAddArgList(cmd, virBufferCurrentContent(&buf), NULL);
+
     if (ovsport->profileID[0] == '\0') {
-        virCommandAddArgList(cmd, "--", "--may-exist", "add-port",
-                        brname, ifname, virBufferCurrentContent(&buf),
+        virCommandAddArgList(cmd,
                         "--", "set", "Interface", ifname, attachedmac_ex_id,
                         "--", "set", "Interface", ifname, ifaceid_ex_id,
                         "--", "set", "Interface", ifname, vmid_ex_id,
@@ -114,8 +120,7 @@ int virNetDevOpenvswitchAddPort(const char *brname, const char *ifname,
                         "external-ids:iface-status=active",
                         NULL);
     } else {
-        virCommandAddArgList(cmd, "--", "--may-exist", "add-port",
-                        brname, ifname, virBufferCurrentContent(&buf),
+        virCommandAddArgList(cmd,
                         "--", "set", "Interface", ifname, attachedmac_ex_id,
                         "--", "set", "Interface", ifname, ifaceid_ex_id,
                         "--", "set", "Interface", ifname, vmid_ex_id,
-- 
1.7.11.4

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]