Bug 1269738 - Vlan table display repeat four times in qmp when queues=4
Summary: Vlan table display repeat four times in qmp when queues=4
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.2
Hardware: x86_64
OS: Linux
Target Milestone: rc
: ---
Assignee: Vlad Yasevich
QA Contact: Virtualization Bugs
Depends On:
Blocks: 1273063 1288337
TreeView+ depends on / blocked
Reported: 2015-10-08 06:49 UTC by weliao
Modified: 2016-11-03 20:06 UTC (History)
8 users (show)

Fixed In Version: qemu-kvm-1.5.3-108.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1273063 (view as bug list)
Last Closed: 2016-11-03 20:06:03 UTC
Target Upstream Version:

Attachments (Terms of Use)
qmp display (93.12 KB, text/plain)
2015-10-08 06:50 UTC, weliao
no flags Details

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:2585 0 normal SHIPPED_LIVE Moderate: qemu-kvm security, bug fix, and enhancement update 2016-11-03 12:09:03 UTC

Description weliao 2015-10-08 06:49:35 UTC
Description of problem:
Check vlan table in rx-filter information when guest starts for qmp when queues=4; Vlan table display repeat four times; if queues=2,Vlan table display repeat two times; if queues=1,Vlan table display one times.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.launch a guest with ctrl_vlan=off
-netdev tap,id=hostnet0,vhost=on,queues=2 \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:55:66:77:80:8d,bus=pci.0,addr=0x3,mq=on,mrg_rxbuf=on,ctrl_vlan=off
2.Check vlan table in rx-filter information when guest starts.
telnet 4567
{ "execute": "query-rx-filter", "arguments": { "name": "net0" } }

Actual results:
Vlan table display repeat four times

Expected results:
Vlan table display only one time

Additional info:
please look attachment about display
/usr/libexec/qemu-kvm -name BRIDGE -S -machine pc,accel=kvm,usb=off \
-cpu Opteron_G5 -m 4G -realtime mlock=off \
-smp 4 -uuid fbf56917-5866-48f2-b3fb-5ce2ad294d93 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/rhel7cp1.0.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc,driftfix=slew \
-global kvm-pit.lost_tick_policy=discard \
-no-hpet -no-shutdown \
-global PIIX4_PM.disable_s3=1 \
-global PIIX4_PM.disable_s4=1 \
-boot menu=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 \
-drive file=/mnt/rhel712,snapshot=on,cache=none,if=none,id=drive-virtio-disk0,format=qcow2 \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-netdev tap,id=hostnet0,vhost=on,queues=4 \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:55:66:77:80:8d,bus=pci.0,addr=0x3,vectors=10,mq=on,mrg_rxbuf=on,ctrl_vlan=off \
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 \
-chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/rhel7cp1.0.org.qemu.guest_agent.0,server,nowait \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -chardev spicevmc,id=charchannel1,name=vdagent \
-device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0 \
-device usb-tablet,id=input0 \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2 \
-chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 \
-chardev spicevmc,id=charredir1,name=usbredir \
-device usb-redir,chardev=charredir1,id=redir1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \
-msg timestamp=on -monitor stdio \
-qmp tcp:0:4567,server,nowait \

windows2008r2 guests and linux guest all has this issue

Comment 1 weliao 2015-10-08 06:50:44 UTC
Created attachment 1080860 [details]
qmp display

Comment 2 weliao 2015-10-08 06:58:09 UTC
qemu-kvm-rhev-2.3.0-23.el7.x86_64  has no this issue

Comment 4 Vlad Yasevich 2015-10-19 13:46:19 UTC
It isn't just the vlan table, although it is the mostly obvious one (particularly
in rhel7 qemu-kvm package).  All of the device filtering data is duplicated including all the mac address filters and promisc settings.

It is actually possible to reproduce this in upstream as well as qemu-kvm-rhev.
If the qmp command is given without a network name argument, then in a multiqueue
configuration, the same output is given multiple times (once for each queue).

Will clone to qemu-kvm-rhev.


Comment 5 Miroslav Rezanina 2016-02-08 10:19:56 UTC
Fix included in qemu-kvm-1.5.3-108.el7

Comment 7 weliao 2016-05-17 06:47:23 UTC
Reproduce this bug with below version:

Test steps:
1.launch a guest with ctrl_vlan=off
-netdev tap,id=hostnet0,vhost=on,queues=4 \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=32:d7:63:b5:a9:54,bus=pci.0,addr=0x3,mq=on,mrg_rxbuf=on,ctrl_vlan=off,vectors=10
2.Check vlan table in rx-filter information when guest starts.
telnet 4567
{ "execute": "query-rx-filter", "arguments": { "name": "net0" } }

Test result:
Vlan table display repeat four times:
{"return": [{"promiscuous": false, "name": "net1", "main-mac": "32:d7:63:b5:a9:54", "unicast": "normal", "vlan": "all", "vlan-table": [4095, 4094, 4093, 4092, 4091, 4090, 4089, 4088, 4087, 4086, 4085, 4084,.....3,2,1,0]...

So this bug reproduce

Verify this bug with below version:

The same test steps:
Test result:
[root@dhcp-65-190 Downloads]# telnet 4567
Connected to
Escape character is '^]'.
{"QMP": {"version": {"qemu": {"micro": 3, "minor": 5, "major": 1}, "package": " (qemu-kvm-1.5.3-109.el7)"}, "capabilities": []}}
{"return": {}}

{"timestamp": {"seconds": 1463467473, "microseconds": 265162}, "event": "NIC_RX_FILTER_CHANGED", "data": {"name": "net1", "path": "/machine/peripheral/net1/virtio-backend"}}
{ "execute": "query-rx-filter", "arguments": { "name": "net1" } }
{"return": [{"promiscuous": false, "name": "net1", "main-mac": "32:d7:63:b5:a9:54", "unicast": "normal", "vlan": "all", "vlan-table": [4095, 4094, 4093, 4092, 4091, 4090, 4089, 4088, 4087, 4086, 4085, 4084, 4083, 4082, 4081, 4080, 4079, 4078, 4077, 4076, 4075, 4074, 4073, 4072, 4071, 4070, 4069, 4068, 4067, 4066, 4065, 4064, 4063, 4062, 4061, 4060, 4059, 4058, 4057

no repeat display vlan table, So this bug fix well.

Comment 10 errata-xmlrpc 2016-11-03 20:06:03 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.