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>
Showing
- hw/dp8393x.c 1 addition, 1 deletionhw/dp8393x.c
- hw/mcf_fec.c 1 addition, 1 deletionhw/mcf_fec.c
- hw/qdev-properties-system.c 39 additions, 7 deletionshw/qdev-properties-system.c
- hw/qdev-properties.h 3 additions, 3 deletionshw/qdev-properties.h
- include/net/net.h 14 additions, 4 deletionsinclude/net/net.h
- net/net.c 81 additions, 32 deletionsnet/net.c
Please register or sign in to comment