1. 25 2月, 2014 3 次提交
  2. 10 12月, 2013 4 次提交
  3. 09 12月, 2013 1 次提交
  4. 03 12月, 2013 1 次提交
  5. 19 11月, 2013 1 次提交
  6. 10 11月, 2013 1 次提交
  7. 09 11月, 2013 1 次提交
  8. 07 11月, 2013 1 次提交
  9. 22 9月, 2013 1 次提交
  10. 23 8月, 2013 1 次提交
  11. 29 7月, 2013 1 次提交
  12. 16 7月, 2013 1 次提交
    • A
      net: add support of mac-programming over macvtap in QEMU side · b1be4280
      Amos Kong 提交于
      Currently macvtap based macvlan device is working in promiscuous
      mode, we want to implement mac-programming over macvtap through
      Libvirt for better performance.
      
      Design:
       QEMU notifies Libvirt when rx-filter config is changed in guest,
       then Libvirt query the rx-filter information by a monitor command,
       and sync the change to macvtap device. Related rx-filter config
       of the nic contains main mac, rx-mode items and vlan table.
      
      This patch adds a QMP event to notify management of rx-filter change,
      and adds a monitor command for management to query rx-filter
      information.
      
      Test:
       If we repeatedly add/remove vlan, and change macaddr of vlan
       interfaces in guest by a loop script.
      
      Result:
       The events will flood the QMP client(management), management takes
       too much resource to process the events.
      
       Event_throttle API (set rate to 1 ms) can avoid the events to flood
       QMP client, but it could cause an unexpected delay (~1ms), guests
       guests normally expect rx-filter updates immediately.
      
       So we use a flag for each nic to avoid events flooding, the event
       is emitted once until the query command is executed. The flag
       implementation could not introduce unexpected delay.
      
      There maybe exist an uncontrollable delay if we let Libvirt do the
      real change, guests normally expect rx-filter updates immediately.
      But it's another separate issue, we can investigate it when the
      work in Libvirt side is done.
      
      Michael S. Tsirkin: tweaked to enable events on start
      Michael S. Tsirkin: fixed not to crash when no id
      Michael S. Tsirkin: fold in patch:
         "additional fixes for mac-programming feature"
      Amos Kong: always notify QMP client if mactable is changed
      Amos Kong: return NULL list if no net client supports rx-filter query
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NAmos Kong <akong@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      b1be4280
  13. 22 5月, 2013 1 次提交
  14. 15 5月, 2013 1 次提交
  15. 07 5月, 2013 1 次提交
    • J
      virtio-net: properly check the vhost status during status set · d7108d90
      Jason Wang 提交于
      Commit 32993698 (vhost: disable on tap link down) tries to disable the vhost
      also when the peer's link is down. But the check was not done properly, the
      vhost were only started when:
      
      1) peer's link is not down
      2) virtio-net has already been started.
      
      Since == have a higher precedence than &&, place a brace to make sure both the
      conditions were met then does the check. This fixes the crash when doing a savem
      after set the link off which let qemu crash and complains:
      
      virtio_net_save: Assertion `!n->vhost_started' failed.
      
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Message-id: 1366972060-21606-1-git-send-email-jasowang@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      d7108d90
  16. 01 5月, 2013 1 次提交
  17. 29 4月, 2013 1 次提交
  18. 25 4月, 2013 2 次提交
  19. 17 4月, 2013 3 次提交
  20. 09 4月, 2013 2 次提交
  21. 27 3月, 2013 1 次提交
  22. 19 3月, 2013 1 次提交
  23. 01 3月, 2013 1 次提交
    • P
      hw: include hw header files with full paths · 83c9f4ca
      Paolo Bonzini 提交于
      Done with this script:
      
      cd hw
      for i in `find . -name '*.h' | sed 's/^..//'`; do
        echo '\,^#.*include.*["<]'$i'[">], s,'$i',hw/&,'
      done | sed -i -f - `find . -type f`
      
      This is so that paths remain valid as files are moved.
      
      Instead, files in hw/dataplane are referenced with the relative path.
      We know they are not going to move to include/, and they are the only
      include files that are in subdirectories _and_ move.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      83c9f4ca
  24. 27 2月, 2013 1 次提交
    • J
      net: reduce the unnecessary memory allocation of multiqueue · f6b26cf2
      Jason Wang 提交于
      Edivaldo reports a problem that the array of NetClientState in NICState is too
      large - MAX_QUEUE_NUM(1024) which will wastes memory even if multiqueue is not
      used.
      
      Instead of static arrays, solving this issue by allocating the queues on demand
      for both the NetClientState array in NICState and VirtIONetQueue array in
      VirtIONet.
      
      Tested by myself, with single virtio-net-pci device. The memory allocation is
      almost the same as when multiqueue is not merged.
      
      Cc: Edivaldo de Araujo Pereira <edivaldoapereira@yahoo.com.br>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      f6b26cf2
  25. 09 2月, 2013 1 次提交
  26. 08 2月, 2013 1 次提交
  27. 02 2月, 2013 5 次提交
    • J
      virtio-net: migration support for multiqueue · 5f800801
      Jason Wang 提交于
      This patch add migration support for multiqueue virtio-net. Instead of bumping
      the version, we conditionally send the info of multiqueue only when the device
      support more than one queue to maintain the backward compatibility.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      5f800801
    • J
      virtio-net: multiqueue support · fed699f9
      Jason Wang 提交于
      This patch implements both userspace and vhost support for multiple queue
      virtio-net (VIRTIO_NET_F_MQ). This is done by introducing an array of
      VirtIONetQueue to VirtIONet.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      fed699f9
    • J
      virtio-net: separate virtqueue from VirtIONet · 0c87e93e
      Jason Wang 提交于
      To support multiqueue virtio-net, the first step is to separate the virtqueue
      related fields from VirtIONet to a new structure VirtIONetQueue. The following
      patches will add an array of VirtIONetQueue to VirtIONet based on this patch.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      0c87e93e
    • J
      vhost: multiqueue support · a9f98bb5
      Jason Wang 提交于
      This patch lets vhost support multiqueue. The idea is simple, just launching
      multiple threads of vhost and let each of vhost thread processing a subset of
      the virtqueues of the device. After this change each emulated device can have
      multiple vhost threads as its backend.
      
      To do this, a virtqueue index were introduced to record to first virtqueue that
      will be handled by this vhost_net device. Based on this and nvqs, vhost could
      calculate its relative index to setup vhost_net device.
      
      Since we may have many vhost/net devices for a virtio-net device. The setting of
      guest notifiers were moved out of the starting/stopping of a specific vhost
      thread. The vhost_net_{start|stop}() were renamed to
      vhost_net_{start|stop}_one(), and a new vhost_net_{start|stop}() were introduced
      to configure the guest notifiers and start/stop all vhost/vhost_net devices.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      a9f98bb5
    • J
      net: intorduce qemu_del_nic() · 948ecf21
      Jason Wang 提交于
      To support multiqueue nic, this patch separate the nic destructor from
      qemu_del_net_client() to a new helper qemu_del_nic() since the mapping bettween
      NiCState and NetClientState were not 1:1 in multiqueue. The following patches
      would refactor this function to support multiqueue nic.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      948ecf21