diff options
author | Jason Wang <jasowang@redhat.com> | 2013-01-30 19:12:28 +0800 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-02-01 11:03:01 -0600 |
commit | 1ceef9f27359cbe92ef124bf74de6f792e71f6fb (patch) | |
tree | dfe0d6d7b67dbfcfca482eb03eb1c369dedaf89f /hw/mcf_fec.c | |
parent | f7860455fd582b171e526b4b4647b9b9c9a3e703 (diff) | |
download | qemu-1ceef9f27359cbe92ef124bf74de6f792e71f6fb.tar.gz qemu-1ceef9f27359cbe92ef124bf74de6f792e71f6fb.tar.bz2 qemu-1ceef9f27359cbe92ef124bf74de6f792e71f6fb.zip |
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>
Diffstat (limited to 'hw/mcf_fec.c')
-rw-r--r-- | hw/mcf_fec.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/mcf_fec.c b/hw/mcf_fec.c index 909e32b3e0..8e60f09fbb 100644 --- a/hw/mcf_fec.c +++ b/hw/mcf_fec.c @@ -472,7 +472,7 @@ void mcf_fec_init(MemoryRegion *sysmem, NICInfo *nd, memory_region_add_subregion(sysmem, base, &s->iomem); s->conf.macaddr = nd->macaddr; - s->conf.peer = nd->netdev; + s->conf.peers.ncs[0] = nd->netdev; s->nic = qemu_new_nic(&net_mcf_fec_info, &s->conf, nd->model, nd->name, s); |