1. 30 3月, 2016 8 次提交
    • Z
      tests/test-filter-redirector: Add unit test for filter-redirector · 9fd3c5d5
      Zhang Chen 提交于
      In this unit test,we will test the filter redirector function.
      
      Case 1, tx traffic flow:
      
      qemu side              | test side
                             |
      +---------+            |  +-------+
      | backend <---------------+ sock0 |
      +----+----+            |  +-------+
           |                 |
      +----v----+  +-------+ |
      |  rd0    +->+chardev| |
      +---------+  +---+---+ |
                       |     |
      +---------+      |     |
      |  rd1    <------+     |
      +----+----+            |
           |                 |
      +----v----+            |  +-------+
      |  rd2    +--------------->sock1  |
      +---------+            |  +-------+
                             +
      
      a. we(sock0) inject packet to qemu socket backend
      b. backend pass packet to filter redirector0(rd0)
      c. rd0 redirect packet to out_dev(chardev) which is connected with
      filter redirector1's(rd1) in_dev
      d. rd1 read this packet from in_dev, and pass to next filter redirector2(rd2)
      e. rd2 redirect packet to rd2's out_dev which is connected with an opened socketed(sock1)
      f. we read packet from sock1 and compare to what we inject
      
      Start qemu with:
      
      "-netdev socket,id=qtest-bn0,fd=%d "
      "-device rtl8139,netdev=qtest-bn0,id=qtest-e0 "
      "-chardev socket,id=redirector0,path=%s,server,nowait "
      "-chardev socket,id=redirector1,path=%s,server,nowait "
      "-chardev socket,id=redirector2,path=%s,nowait "
      "-object filter-redirector,id=qtest-f0,netdev=qtest-bn0,"
      "queue=tx,outdev=redirector0 "
      "-object filter-redirector,id=qtest-f1,netdev=qtest-bn0,"
      "queue=tx,indev=redirector2 "
      "-object filter-redirector,id=qtest-f2,netdev=qtest-bn0,"
      "queue=tx,outdev=redirector1 "
      
      --------------------------------------
      Case 2, rx traffic flow
      qemu side              | test side
                             |
      +---------+            |  +-------+
      | backend +---------------> sock1 |
      +----^----+            |  +-------+
           |                 |
      +----+----+  +-------+ |
      |  rd0    +<-+chardev| |
      +---------+  +---+---+ |
                       ^     |
      +---------+      |     |
      |  rd1    +------+     |
      +----^----+            |
           |                 |
      +----+----+            |  +-------+
      |  rd2    <---------------+sock0  |
      +---------+            |  +-------+
      
      a. we(sock0) insert packet to filter redirector2(rd2)
      b. rd2 pass packet to filter redirector1(rd1)
      c. rd1 redirect packet to out_dev(chardev) which is connected with
         filter redirector0's(rd0) in_dev
      d. rd0 read this packet from in_dev, and pass ti to qemu backend which is
         connected with an opened socketed(sock1)
      e. we read packet from sock1 and compare to what we inject
      
      Start qemu with:
      
      "-netdev socket,id=qtest-bn0,fd=%d "
      "-device rtl8139,netdev=qtest-bn0,id=qtest-e0 "
      "-chardev socket,id=redirector0,path=%s,server,nowait "
      "-chardev socket,id=redirector1,path=%s,server,nowait "
      "-chardev socket,id=redirector2,path=%s,nowait "
      "-object filter-redirector,id=qtest-f0,netdev=qtest-bn0,"
      "queue=rx,outdev=redirector0 "
      "-object filter-redirector,id=qtest-f1,netdev=qtest-bn0,"
      "queue=rx,indev=redirector2 "
      "-object filter-redirector,id=qtest-f2,netdev=qtest-bn0,"
      "queue=rx,outdev=redirector1 "
      Signed-off-by: NZhang Chen <zhangchen.fnst@cn.fujitsu.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Signed-off-by: NLi Zhijian <lizhijian@cn.fujitsu.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      9fd3c5d5
    • Z
      net/filter-mirror: implement filter-redirector · d46f75b2
      Zhang Chen 提交于
      Filter-redirector is a netfilter plugin.
      It gives qemu the ability to redirect net packet.
      redirector can redirect filter's net packet to outdev.
      and redirect indev's packet to filter.
      
                            filter
                              +
                  redirector  |
                     +--------------+
                     |        |     |
        indev +-----------+   +---------->  outdev
                     |    |         |
                     +--------------+
                          |
                          v
                        filter
      
      usage:
      
      -netdev user,id=hn0
      -chardev socket,id=s0,host=ip_primary,port=X,server,nowait
      -chardev socket,id=s1,host=ip_primary,port=Y,server,nowait
      -filter-redirector,id=r0,netdev=hn0,queue=tx/rx/all,indev=s0,outdev=s1
      Signed-off-by: NZhang Chen <zhangchen.fnst@cn.fujitsu.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Signed-off-by: NLi Zhijian <lizhijian@cn.fujitsu.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      d46f75b2
    • Z
      net/filter-mirror: Change filter_mirror_send interface · ba8940dd
      Zhang Chen 提交于
      Change filter_mirror_send interface to make it easier
      to used by other filter
      Signed-off-by: NZhang Chen <zhangchen.fnst@cn.fujitsu.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Signed-off-by: NLi Zhijian <lizhijian@cn.fujitsu.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      ba8940dd
    • Z
      tests/test-filter-mirror:add filter-mirror unit test · 06809ecf
      Zhang Chen 提交于
      In this unit test we will test the mirror function.
      
      start qemu with:
            -netdev socket,id=qtest-bn0,fd=sockfd
            -device e1000,netdev=qtest-bn0,id=qtest-e0
            -chardev socket,id=mirror0,path=/tmp/filter-mirror-test.sock,server,nowait
            -object filter-mirror,id=qtest-f0,netdev=qtest-bn0,queue=tx,outdev=mirror0
      
      We inject packet to netdev socket id = qtest-bn0,
      filter-mirror will copy and mirror the packet to mirror0.
      we read packet from mirror0 and then compare to what we injected.
      Signed-off-by: NZhang Chen <zhangchen.fnst@cn.fujitsu.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      06809ecf
    • Z
      net/filter-mirror:Add filter-mirror · f6d3afb5
      Zhang Chen 提交于
      Filter-mirror is a netfilter plugin.
      It gives qemu the ability to mirror
      packets to a chardev.
      
      usage:
      
      -netdev tap,id=hn0
      -chardev socket,id=mirror0,host=ip_primary,port=X,server,nowait
      -filter-mirror,id=m0,netdev=hn0,queue=tx/rx/all,outdev=mirror0
      Signed-off-by: NZhang Chen <zhangchen.fnst@cn.fujitsu.com>
      Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
      Reviewed-by: NYang Hongyang <hongyang.yang@easystack.cn>
      Reviewed-by: Nzhanghailiang <zhang.zhanghailiang@huawei.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      f6d3afb5
    • P
      Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging · 553934db
      Peter Maydell 提交于
      # gpg: Signature made Tue 29 Mar 2016 01:48:09 BST using RSA key ID C0DE3057
      # gpg: Good signature from "Jeffrey Cody <jcody@redhat.com>"
      # gpg:                 aka "Jeffrey Cody <jeff@codyprime.org>"
      # gpg:                 aka "Jeffrey Cody <codyprime@gmail.com>"
      
      * remotes/cody/tags/block-pull-request:
        qemu-iotests: add no-op streaming test
        qemu-iotests: fix test_stream_partial()
        block: never cancel a streaming job without running stream_complete()
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      553934db
    • P
      Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' into staging · 5b8e6b4c
      Peter Maydell 提交于
      slirp updates
      
      # gpg: Signature made Tue 29 Mar 2016 00:16:05 BST using RSA key ID FB6B2F1D
      # gpg: Good signature from "Samuel Thibault <samuel.thibault@gnu.org>"
      # gpg:                 aka "Samuel Thibault <sthibault@debian.org>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@inria.fr>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@labri.fr>"
      # gpg:                 aka "Samuel Thibault <samuel.thibault@ens-lyon.org>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 900C B024 B679 31D4 0F82  304B D017 8C76 7D06 9EE6
      #      Subkey fingerprint: F632 74CD C630 0873 CB3D  29D9 E3E5 1CE8 FB6B 2F1D
      
      * remotes/thibault/tags/samuel-thibault:
        Rework ipv6 options
        Use C99 flexible array instead of 1-byte trailing array
        Avoid embedding struct mbuf in other structures
        slirp: send icmp6 errors when UDP send failed
        slirp: Fix memory leak on small incoming ipv4 packet
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5b8e6b4c
    • P
      Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20160328.0' into staging · 7cd592bc
      Peter Maydell 提交于
      VFIO updates 2016-03-28
      
       - Use 128bit math to avoid asserts with IOMMU regions (Bandan Das)
      
      # gpg: Signature made Mon 28 Mar 2016 23:16:52 BST using RSA key ID 3BB08B22
      # gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex@shazbot.org>"
      # gpg:                 aka "Alex Williamson <alwillia@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>"
      
      * remotes/awilliam/tags/vfio-update-20160328.0:
        vfio: convert to 128 bit arithmetic calculations when adding mem regions
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7cd592bc
  2. 29 3月, 2016 6 次提交
  3. 25 3月, 2016 3 次提交
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 84a5a801
      Peter Maydell 提交于
      * Log filtering from Alex and Peter
      * Chardev fix from Marc-André
      * config.status tweak from David
      * Header file tweaks from Markus, myself and Veronia (Outreachy candidate)
      * get_ticks_per_sec() removal from Rutuja (Outreachy candidate)
      * Coverity fix from myself
      * PKE implementation from myself, based on rth's XSAVE support
      
      # gpg: Signature made Thu 24 Mar 2016 20:15:11 GMT using RSA key ID 78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      
      * remotes/bonzini/tags/for-upstream: (28 commits)
        target-i386: implement PKE for TCG
        config.status: Pass extra parameters
        char: translate from QIOChannel error to errno
        exec: fix error handling in file_ram_alloc
        cputlb: modernise the debug support
        qemu-log: support simple pid substitution for logs
        target-arm: dfilter support for in_asm
        qemu-log: dfilter-ise exec, out_asm, op and opt_op
        qemu-log: new option -dfilter to limit output
        qemu-log: Improve the "exec" TB execution logging
        qemu-log: Avoid function call for disabled qemu_log_mask logging
        qemu-log: correct help text for -d cpu
        tcg: pass down TranslationBlock to tcg_code_gen
        util: move declarations out of qemu-common.h
        Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND
        hw: explicitly include qemu-common.h and cpu.h
        include/crypto: Include qapi-types.h or qemu/bswap.h instead of qemu-common.h
        isa: Move DMA_transfer_handler from qemu-common.h to hw/isa/isa.h
        Move ParallelIOArg from qemu-common.h to sysemu/char.h
        Move QEMU_ALIGN_*() from qemu-common.h to qemu/osdep.h
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      
      Conflicts:
      	scripts/clean-includes
      84a5a801
    • P
      Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20160324' into staging · b68a8013
      Peter Maydell 提交于
      Support for booting from virtio-scsi devices in the s390-ccw bios.
      
      # gpg: Signature made Thu 24 Mar 2016 08:14:21 GMT using RSA key ID C6F02FAF
      # gpg: Good signature from "Cornelia Huck <huckc@linux.vnet.ibm.com>"
      # gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
      
      * remotes/cohuck/tags/s390x-20160324:
        s390-ccw.img: rebuild image
        pc-bios/s390-ccw: disambiguation of "No zIPL magic" message
        pc-bios/s390-ccw: enhance bootmap detection
        pc-bios/s390-ccw: enable virtio-scsi
        pc-bios/s390-ccw: add virtio-scsi implementation
        pc-bios/s390-ccw: add scsi definitions
        pc-bios/s390-ccw: add simplified virtio call
        pc-bios/s390-ccw: make provisions for different backends
        pc-bios/s390-ccw: add vdev object to store all device details
        pc-bios/s390-ccw: update virtio implementation to allow up to 3 vrings
        pc-bios/s390-ccw: qemuize types
        pc-bios/s390-ccw: add utility functions and "export" some others
        pc-bios/s390-ccw: virtio_panic -> panic
        pc-bios/s390-ccw: add more disk layout checks
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b68a8013
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20160324-1' into staging · f18f2e7c
      Peter Maydell 提交于
      input-linux + spice fixes
      
      # gpg: Signature made Thu 24 Mar 2016 07:54:45 GMT using RSA key ID D3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      
      * remotes/kraxel/tags/pull-ui-20160324-1:
        spice: Disallow use of gl + TCP port
        input-linux: fix Coverity warning
        input-linux: switch over to -object
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      f18f2e7c
  4. 24 3月, 2016 23 次提交