]> git.proxmox.com Git - qemu.git/commit
net: multiqueue support
authorJason Wang <jasowang@redhat.com>
Wed, 30 Jan 2013 11:12:28 +0000 (19:12 +0800)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 1 Feb 2013 17:03:01 +0000 (11:03 -0600)
commit1ceef9f27359cbe92ef124bf74de6f792e71f6fb
treedfe0d6d7b67dbfcfca482eb03eb1c369dedaf89f
parentf7860455fd582b171e526b4b4647b9b9c9a3e703
net: multiqueue support

This patch adds basic multiqueue support for qemu. The idea is simple, an array
of NetClientStates were introduced in NICState, parse_netdev() were extended to
find and match all NetClientStates belongs to the backend and place their
pointers in NICConf. Then qemu_new_nic can setup a N:N mapping between NICStates
that belongs to a nic and NICStates belongs to the netdev. And a queue_index
were introduced in NetClientState to track its index. After this, each peers of
a NICState were abstracted as a queue.

After this change, all NetClientState that belongs to the same backend/nic has
the same id. When use want to change the link status, all NetClientStates that
belongs to the same backend/nic will be also changed. When user want to delete
a device or netdev, all NetClientStates that belongs to the same backend/nic
will be deleted also. Changing or deleting an specific queue is not allowed.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/dp8393x.c
hw/mcf_fec.c
hw/qdev-properties-system.c
hw/qdev-properties.h
include/net/net.h
net/net.c