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/dp8393x.c | |
parent | f7860455fd582b171e526b4b4647b9b9c9a3e703 (diff) | |
download | qemu-1ceef9f27359cbe92ef124bf74de6f792e71f6fb.zip qemu-1ceef9f27359cbe92ef124bf74de6f792e71f6fb.tar.gz qemu-1ceef9f27359cbe92ef124bf74de6f792e71f6fb.tar.bz2 |
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/dp8393x.c')
-rw-r--r-- | hw/dp8393x.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/dp8393x.c b/hw/dp8393x.c index 0273fad..808157b 100644 --- a/hw/dp8393x.c +++ b/hw/dp8393x.c @@ -900,7 +900,7 @@ void dp83932_init(NICInfo *nd, hwaddr base, int it_shift, s->regs[SONIC_SR] = 0x0004; /* only revision recognized by Linux */ s->conf.macaddr = nd->macaddr; - s->conf.peer = nd->netdev; + s->conf.peers.ncs[0] = nd->netdev; s->nic = qemu_new_nic(&net_dp83932_info, &s->conf, nd->model, nd->name, s); |