aboutsummaryrefslogtreecommitdiff
path: root/net/net.c
diff options
context:
space:
mode:
authorVladislav Yasevich <vyasevic@redhat.com>2015-10-19 09:04:38 -0400
committerJason Wang <jasowang@redhat.com>2015-10-27 10:30:39 +0800
commit5320c2caf43cc76748a1ffa0fdcaa9eb501d3fcd (patch)
tree32f28fc2ea81b11a01f0bdd5b66a1f0501d8e573 /net/net.c
parenteedeeeffd419ab149e0b0ad5fc4b7cf5e1db6274 (diff)
net: Remove duplicate data from query-rx-filter on multiqueue net devices
When responding to a query-rx-filter command on a multiqueue netdev, qemu reports the data for each queue. The data, however, is not per-queue, but per device and the same data is reported multiple times. This causes confusion and may also cause extra unnecessary processing when looking at the data. Commit 638fb14169 (net: Make qmp_query_rx_filter() with name argument more obvious) partially addresses this issue, by limiting the output when the name is specified. However, when the name is not specified, the issue still persists. Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'net/net.c')
-rw-r--r--net/net.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/net.c b/net/net.c
index 3c68f3faa8..70a3576db9 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1227,6 +1227,12 @@ RxFilterInfoList *qmp_query_rx_filter(bool has_name, const char *name,
continue;
}
+ /* only query information on queue 0 since the info is per nic,
+ * not per queue
+ */
+ if (nc->queue_index != 0)
+ continue;
+
if (nc->info->query_rx_filter) {
info = nc->info->query_rx_filter(nc);
entry = g_malloc0(sizeof(*entry));