On 2/9/22 11:59, Yi Wang wrote: > From: tuqiang <tu.qiang35@xxxxxxxxxx> > > We try to update vlan tag by running virsh update-device command, > libvirtd will report ovs-vsctl arguments error. Vlan tag update > funtion does't consider the xml with no vlan configured circumstances. > > The steps to reproduce the problem: > 1 define and start domain with its vlan configured as: > <interface type='bridge'> > <mac address='52:54:00:9e:bb:ac'/> > <source bridge='ovs-br0'/> > <vlan> > <tag id='10'/> > </vlan> > <virtualport type='openvswitch'> > </virtualport> > <target dev='vnet4.0'/> > <model type='virtio'/> > <driver name='vhost'/> > </interface> > 2 define and run virsh update-device command with no vlan configured as: > <interface type='bridge'> > <mac address='52:54:00:9e:bb:ac'/> > <source bridge='ovs-br0'/> > <virtualport type='openvswitch'> > </virtualport> > <target dev='vnet4.0'/> > <model type='virtio'/> > <driver name='vhost'/> > </interface> > #virsh update-device dom-id novlan.xml > 3 virsh command returned error, and we got an error in libvirtd.log: > error : virCommandWait:2584 : internal error: exit status 1: ovs-vsctl: 'set' command requires at least 3 arguments > . Child process (ovs-vsctl --timeout=5 -- --if-exists clear Port vnet4.0 tag -- --if-exists clear Port vnet4.0 trunk > -- --if-exists clear Port vnet4.0 vlan_mode -- --if-exists set Port vnet4.0) unexpected > error : virNetDevOpenvswitchUpdateVlan:540 : internal error: Unable to set vlan configuration on port vnet4.0 > > Signed-off-by: Tu Qiang <tu.qiang35@xxxxxxxxxx> > Signed-off-by: Yi Wang <wang.yi59@xxxxxxxxxx> > --- > src/util/virnetdevopenvswitch.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> and pushed. Michal