1. 31 1月, 2018 12 次提交
  2. 30 1月, 2018 9 次提交
  3. 29 1月, 2018 19 次提交
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/input-20180129-v2-pull-request' into staging · 30d9fefe
      Peter Maydell 提交于
      input: switch devices to keycodemapdb, bugfixes.
      
      # gpg: Signature made Mon 29 Jan 2018 10:23:00 GMT
      # gpg:                using RSA key 0x4CB6D8EED3E87138
      # 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>"
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/input-20180129-v2-pull-request:
        hw: convert virtio-input-hid device to keycodemapdb
        ui: fix alphabetical ordering of keymaps
        hw: convert the escc device to keycodemapdb
        hw: convert ps2 device to keycodemapdb
        ps2: check PS2Queue pointers in post_load routine
        input: virtio: don't send mouse wheel event twice
        input: add mouse side buttons to virtio input
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      30d9fefe
    • P
      Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging · 0d144291
      Peter Maydell 提交于
      # gpg: Signature made Mon 29 Jan 2018 08:14:19 GMT
      # gpg:                using RSA key 0xEF04965B398D6211
      # gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@redhat.com>"
      # 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: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211
      
      * remotes/jasowang/tags/net-pull-request:
        MAINTAINERS: update Dmitry Fleytman email
        qemu-doc: Get rid of "vlan=X" example in the documentation
        net: Allow netdevs to be used with 'hostfwd_add' and 'hostfwd_remove'
        net: Allow hubports to connect to other netdevs
        colo: compare the packet based on the tcp sequence number
        colo: modified the payload compare function
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      0d144291
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.12-20180129' into staging · fccfcc63
      Peter Maydell 提交于
      ppc patch queue 2018-01-29
      
      Here's another batch of patches for ppc, spapr and related things.
      Higlights:
      
        * Implement (with a bunch of necessary infrastructure) a hypercall
          to let guests properly apply Spectre and Meltdown workarounds.
        * Convert a number of old devices to trace events
        * Fix some bugs
      
      # gpg: Signature made Mon 29 Jan 2018 03:27:30 GMT
      # gpg:                using RSA key 0x6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>"
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-2.12-20180129:
        target/ppc/spapr: Add H-Call H_GET_CPU_CHARACTERISTICS
        target/ppc/spapr_caps: Add new tristate cap safe_indirect_branch
        target/ppc/spapr_caps: Add new tristate cap safe_bounds_check
        target/ppc/spapr_caps: Add new tristate cap safe_cache
        target/ppc/spapr_caps: Add support for tristate spapr_capabilities
        target/ppc/kvm: Add cap_ppc_safe_[cache/bounds_check/indirect_branch]
        spapr_pci: fix MSI/MSIX selection
        input: add missing newline from trace-events
        uninorth: convert to trace-events
        grackle: convert to trace-events
        ppc: Deprecate qemu-system-ppcemb
        ppc/pnv: fix PnvChip redefinition in <hw/ppc/pnv_xscom.h>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      fccfcc63
    • S
      tracetool: report error on foo() instead of foo(void) · 24f4d3d3
      Stefan Hajnoczi 提交于
      C functions with no arguments must be declared foo(void) instead of
      foo().  The tracetool argument list parser has never accepted an empty
      argument list.  This patch adds a clear error message for this error
      case.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20180110202553.31889-4-stefanha@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      24f4d3d3
    • S
      tracetool: clarify that "formats" means "format strings" · 6e497fa1
      Stefan Hajnoczi 提交于
      The terminology used by tracetool is not consistent with C sprintf or
      docs/devel/tracing.txt.  The word "formats" is sometimes used to mean
      "format strings".
      
      This patch clarifies comments and error messages that contain this word.
      
      Note that the error message lines are longer than 80 characters but I
      have not wrapped them to aid grepping.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20180110202553.31889-3-stefanha@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      6e497fa1
    • S
      tracetool: prefix parse errors with line numbers · 5069b561
      Stefan Hajnoczi 提交于
      Include the file line number in the message that is printed when
      trace-events parse errors are raised.
      
      [Use enumerate(fobj, 1) to avoid having to increment a 0-based index
      later, as suggested by Eric Blake.
      --Stefan]
      Suggested-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 20180110202553.31889-2-stefanha@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      5069b561
    • D
      hw: convert virtio-input-hid device to keycodemapdb · ae6b06ab
      Daniel P. Berrange 提交于
      Replace the keymap_qcode table with automatically generated
      tables.
      
      Missing entries in keymap_qcode now fixed:
      
        Q_KEY_CODE_ASTERISK -> KEY_KPASTERISK
        Q_KEY_CODE_KP_MULTIPLY -> KEY_KPASTERISK
        Q_KEY_CODE_STOP -> KEY_STOP
        Q_KEY_CODE_AGAIN -> KEY_AGAIN
        Q_KEY_CODE_PROPS -> KEY_PROPS
        Q_KEY_CODE_UNDO -> KEY_UNDO
        Q_KEY_CODE_FRONT -> KEY_FRONT
        Q_KEY_CODE_COPY -> KEY_COPY
        Q_KEY_CODE_OPEN -> KEY_OPEN
        Q_KEY_CODE_PASTE -> KEY_PASTE
        Q_KEY_CODE_FIND -> KEY_FIND
        Q_KEY_CODE_CUT -> KEY_CUT
        Q_KEY_CODE_LF -> KEY_LINEFEED
        Q_KEY_CODE_HELP -> KEY_HELP
        Q_KEY_CODE_COMPOSE -> KEY_COMPOSE
        Q_KEY_CODE_RO -> KEY_RO
        Q_KEY_CODE_HIRAGANA -> KEY_HIRAGANA
        Q_KEY_CODE_HENKAN -> KEY_HENKAN
        Q_KEY_CODE_YEN -> KEY_YEN
        Q_KEY_CODE_KP_COMMA -> KEY_KPCOMMA
        Q_KEY_CODE_KP_EQUALS -> KEY_KPEQUAL
        Q_KEY_CODE_POWER -> KEY_POWER
        Q_KEY_CODE_SLEEP -> KEY_SLEEP
        Q_KEY_CODE_WAKE -> KEY_WAKEUP
        Q_KEY_CODE_AUDIONEXT -> KEY_NEXTSONG
        Q_KEY_CODE_AUDIOPREV -> KEY_PREVIOUSSONG
        Q_KEY_CODE_AUDIOSTOP -> KEY_STOPCD
        Q_KEY_CODE_AUDIOPLAY -> KEY_PLAYPAUSE
        Q_KEY_CODE_AUDIOMUTE -> KEY_MUTE
        Q_KEY_CODE_VOLUMEUP -> KEY_VOLUMEUP
        Q_KEY_CODE_VOLUMEDOWN -> KEY_VOLUMEDOWN
        Q_KEY_CODE_MEDIASELECT -> KEY_MEDIA
        Q_KEY_CODE_MAIL -> KEY_MAIL
        Q_KEY_CODE_CALCULATOR -> KEY_CALC
        Q_KEY_CODE_COMPUTER -> KEY_COMPUTER
        Q_KEY_CODE_AC_HOME -> KEY_HOMEPAGE
        Q_KEY_CODE_AC_BACK -> KEY_BACK
        Q_KEY_CODE_AC_FORWARD -> KEY_FORWARD
        Q_KEY_CODE_AC_REFRESH -> KEY_REFRESH
        Q_KEY_CODE_AC_BOOKMARKS -> KEY_BOOKMARKS
      
      NB, the virtio-input device reports a bitmask to the guest driver that
      has a bit set for each Linux keycode that the host is able to send to
      the guest.
      
      Thus by adding these extra key mappings we are technically changing the
      host<->guest ABI. This would also happen any time we defined new mappings
      for QEMU keycodes in future.
      
      When a keycode is removed from the list of possible keycodes that host can
      send to the guest, it means that the guest OS will think it is possible
      to receive a key that in pratice can never be generated, which is harmless.
      
      When a keycode is added to the list of possible keycodes that the host can
      send to the guest, it means that the guest OS can see an unexpected event.
      The Linux virtio_input.c driver code simply forwards this event to the
      input_event() method in the Linux input subsystem. This in turn calls
      input_handle_event(), which then calls input_get_disposition(). This method
      checks if the input event is present in the permitted keys bitmap, and if
      not returns INPUT_IGNORE_EVENT. Thus the unexpected event will get dropped,
      which is harmless.
      
      If the guest OS reboots, or otherwise re-initializes the virt-input device,
      it will read the new keycode bitmap. No matter how many keys are defined,
      the config space has a fixed 128 byte bitmap. There is, however, a size
      field defiend which says how many bytes in the bitmap are used. So the guest
      OS reads the size of the bitmap, and then it reads the data from bitmap upto
      the designated size. So if the guest OS re-initializes at precisely the time
      that QEMU is migrated across versions, in the worst case, it could conceivably
      read the old size field, but then get the newly updated bitmap.  If a key were
      added this is harmless, since it simply means it may not process the newly
      added key. If a key were removed, then it could be readnig a byte from the
      bitmap that was not initialized. Fortunately QEMU always memsets() the entire
      bitmap to 0, prior to setting keybits. Thus the guest OS will simply read
      zeros, which is again harmless.
      
      Based on this analysis, it is believed that there is no need to preserve the
      virtio-input-hid keymaps across migration, as the host<->guest ABI change is
      harmless and self-resolving at time of guest reboot.
      
      NB, this behaviour should perhaps be formalized in the virtio-input spec
      to declare how guest OS drivers should be written to be robust in their
      handling of the potentially changable key bitmaps.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20180117164118.8510-5-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      ae6b06ab
    • D
      ui: fix alphabetical ordering of keymaps · 5a15e6b1
      Daniel P. Berrange 提交于
      The qcode-to-linux keymaps was accidentally added in the wrong place
      by
      
        commit de80d785
        Author: Owen Smith <owen.smith@citrix.com>
        Date:   Fri Nov 3 11:56:28 2017 +0000
      
          ui: generate qcode to linux mappings
      
      breaking the alphabetical ordering of keymaps
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 20180117164118.8510-4-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      5a15e6b1
    • D
      hw: convert the escc device to keycodemapdb · e709a61a
      Daniel P. Berrange 提交于
      Replace the qcode_to_keycode table with automatically
      generated tables.
      
      Missing entries in qcode_to_keycode now fixed:
      
       - Q_KEY_CODE_KP_COMMA -> 0x2d
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20180117164118.8510-3-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      e709a61a
    • D
      hw: convert ps2 device to keycodemapdb · ab8f9d49
      Daniel P. Berrange 提交于
      Replace the qcode_to_keycode_set1, qcode_to_keycode_set2,
      and qcode_to_keycode_set3 tables with automatically
      generated tables.
      
      Missing entries in qcode_to_keycode_set1 now fixed:
      
       - Q_KEY_CODE_SYSRQ -> 0x54
       - Q_KEY_CODE_PRINT -> 0x54 (NB ignored due to special case)
       - Q_KEY_CODE_AGAIN -> 0xe005
       - Q_KEY_CODE_PROPS -> 0xe006
       - Q_KEY_CODE_UNDO -> 0xe007
       - Q_KEY_CODE_FRONT -> 0xe00c
       - Q_KEY_CODE_COPY -> 0xe078
       - Q_KEY_CODE_OPEN -> 0x64
       - Q_KEY_CODE_PASTE -> 0x65
       - Q_KEY_CODE_CUT -> 0xe03c
       - Q_KEY_CODE_LF -> 0x5b
       - Q_KEY_CODE_HELP -> 0xe075
       - Q_KEY_CODE_COMPOSE -> 0xe05d
       - Q_KEY_CODE_PAUSE -> 0xe046
       - Q_KEY_CODE_KP_EQUALS -> 0x59
      
      And some mistakes corrected:
      
       - Q_KEY_CODE_HIRAGANA was mapped to 0x70 (Katakanahiragana)
         instead of of 0x77 (Hirigana)
       - Q_KEY_CODE_MENU was incorrectly mapped to the compose
         scancode (0xe05d) and is now mapped to 0xe01e
       - Q_KEY_CODE_FIND was mapped to 0xe065 (Search) instead
         of to 0xe041 (Find)
       - Q_KEY_CODE_POWER, SLEEP & WAKE had 0x0e instead of 0xe0
         as the prefix
      
      Missing entries in qcode_to_keycode_set2 now fixed:
      
       - Q_KEY_CODE_PRINT -> 0x7f (NB ignored due to special case)
       - Q_KEY_CODE_COMPOSE -> 0xe02f
       - Q_KEY_CODE_PAUSE -> 0xe077
       - Q_KEY_CODE_KP_EQUALS -> 0x0f
      
      And some mistakes corrected:
      
       - Q_KEY_CODE_HIRAGANA was mapped to 0x13 (Katakanahiragana)
         instead of of 0x62 (Hirigana)
       - Q_KEY_CODE_MENU was incorrectly mapped to the compose
         scancode (0xe02f) and is now not mapped
       - Q_KEY_CODE_FIND was mapped to 0xe010 (Search) and is now
         not mapped.
       - Q_KEY_CODE_POWER, SLEEP & WAKE had 0x0e instead of 0xe0
         as the prefix
      
      Missing entries in qcode_to_keycode_set3 now fixed:
      
       - Q_KEY_CODE_ASTERISK -> 0x7e
       - Q_KEY_CODE_SYSRQ -> 0x57
       - Q_KEY_CODE_LESS -> 0x13
       - Q_KEY_CODE_STOP -> 0x0a
       - Q_KEY_CODE_AGAIN -> 0x0b
       - Q_KEY_CODE_PROPS -> 0x0c
       - Q_KEY_CODE_UNDO -> 0x10
       - Q_KEY_CODE_COPY -> 0x18
       - Q_KEY_CODE_OPEN -> 0x20
       - Q_KEY_CODE_PASTE -> 0x28
       - Q_KEY_CODE_FIND -> 0x30
       - Q_KEY_CODE_CUT -> 0x38
       - Q_KEY_CODE_HELP -> 0x09
       - Q_KEY_CODE_COMPOSE -> 0x8d
       - Q_KEY_CODE_AUDIONEXT -> 0x93
       - Q_KEY_CODE_AUDIOPREV -> 0x94
       - Q_KEY_CODE_AUDIOSTOP -> 0x98
       - Q_KEY_CODE_AUDIOMUTE -> 0x9c
       - Q_KEY_CODE_VOLUMEUP -> 0x95
       - Q_KEY_CODE_VOLUMEDOWN -> 0x9d
       - Q_KEY_CODE_CALCULATOR -> 0xa3
       - Q_KEY_CODE_AC_HOME -> 0x97
      
      And some mistakes corrected:
      
       - Q_KEY_CODE_MENU was incorrectly mapped to the compose
         scancode (0x8d) and is now 0x91
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20180117164118.8510-2-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      ab8f9d49
    • P
      ps2: check PS2Queue pointers in post_load routine · 802cbcb7
      Prasad J Pandit 提交于
      During Qemu guest migration, a destination process invokes ps2
      post_load function. In that, if 'rptr' and 'count' values were
      invalid, it could lead to OOB access or infinite loop issue.
      Add check to avoid it.
      Reported-by: NCyrille Chatras <cyrille.chatras@orange.com>
      Signed-off-by: NPrasad J Pandit <pjp@fedoraproject.org>
      Message-id: 20171116075155.22378-1-ppandit@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      802cbcb7
    • M
      input: virtio: don't send mouse wheel event twice · a5f99be4
      Miika S 提交于
      On Linux, a mouse event is generated for both down and up when mouse
      wheel is used. This caused virtio_input_send() to be called twice each
      time the wheel was used.
      
      This commit adds a check for the button down state and only calls
      virtio_input_send() when it is true.
      Signed-off-by: NMiika S <miika9764@gmail.com>
      Message-Id: <20171222152531.1849-4-miika9764@gmail.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      a5f99be4
    • M
      input: add mouse side buttons to virtio input · 2416760f
      Miika S 提交于
      Signed-off-by: NMiika S <miika9764@gmail.com>
      Message-Id: <20171222152531.1849-3-miika9764@gmail.com>
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      2416760f
    • P
      MAINTAINERS: update Dmitry Fleytman email · bf4835a4
      Philippe Mathieu-Daudé 提交于
      gently asked by his automatic reply :)
      Signed-off-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      bf4835a4
    • T
      qemu-doc: Get rid of "vlan=X" example in the documentation · 74f78b99
      Thomas Huth 提交于
      The vlan concept is marked as deprecated, so we should not use
      this for examples in the documentation anymore.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      74f78b99
    • T
      net: Allow netdevs to be used with 'hostfwd_add' and 'hostfwd_remove' · 93653066
      Thomas Huth 提交于
      It does not make much sense to limit these commands to the legacy 'vlan'
      concept only, they should work with the modern netdevs, too. So now
      it is possible to use this command with one, two or three parameters.
      
      With one parameter, the command installs a hostfwd rule on the default
      "user" network:
          hostfwd_add tcp:...
      
      With two parameters, the command installs a hostfwd rule on a netdev
      (that's the new way of using this command):
          hostfwd_add netdev_id tcp:...
      
      With three parameters, the command installs a rule on a 'vlan' (aka hub):
          hostfwd_add hub_id name tcp:...
      
      Same applies to the hostfwd_remove command now.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      93653066
    • T
      net: Allow hubports to connect to other netdevs · 18d65d22
      Thomas Huth 提交于
      QEMU can emulate hubs to connect NICs and netdevs. This is currently
      primarily used for the mis-named 'vlan' feature of the networking
      subsystem. Now the 'vlan' feature has been marked as deprecated, since
      its name is rather confusing and the users often rather mis-configure
      their network when trying to use it. But while the 'vlan' parameter
      should be removed at one point in time, the basic idea of emulating
      a hub in QEMU is still good: It's useful for bundling up the output of
      multiple NICs into one single l2tp netdev for example.
      
      Now to be able to use the hubport feature without 'vlan's, there is one
      missing piece: The possibility to connect a hubport to a netdev, too.
      This patch adds this possibility by introducing a new "netdev=..."
      parameter to the hubports.
      
      To bundle up the output of multiple NICs into one socket netdev, you can
      now run QEMU with these parameters for example:
      
      qemu-system-ppc64 ... -netdev socket,id=s1,connect=:11122 \
          -netdev hubport,hubid=1,id=h1,netdev=s1 \
          -netdev hubport,hubid=1,id=h2 -device e1000,netdev=h2 \
          -netdev hubport,hubid=1,id=h3 -device virtio-net-pci,netdev=h3
      
      For using the socket netdev, you have got to start another QEMU as the
      receiving side first, for example with network dumping enabled:
      
      qemu-system-x86_64 -M isapc -netdev socket,id=s0,listen=:11122 \
          -device ne2k_isa,netdev=s0 \
          -object filter-dump,id=f1,netdev=s0,file=/tmp/dump.dat
      
      After the ppc64 guest tried to boot from both NICs, you can see in the
      dump file (using Wireshark, for example), that the output of both NICs
      (the e1000 and the virtio-net-pci) has been successfully transfered
      via the socket netdev in this case.
      Suggested-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      18d65d22
    • M
      colo: compare the packet based on the tcp sequence number · f449c9e5
      Mao Zhongyi 提交于
      Packet size some time different or when network is busy.
      Based on same payload size, but TCP protocol can not
      guarantee send the same one packet in the same way,
      
      like that:
      We send this payload:
      ------------------------------
      | header |1|2|3|4|5|6|7|8|9|0|
      ------------------------------
      
      primary:
      ppkt1:
      ----------------
      | header |1|2|3|
      ----------------
      ppkt2:
      ------------------------
      | header |4|5|6|7|8|9|0|
      ------------------------
      
      secondary:
      spkt1:
      ------------------------------
      | header |1|2|3|4|5|6|7|8|9|0|
      ------------------------------
      
      In the original method, ppkt1 and ppkt2 are different in size and
      spkt1, so they can't compare and trigger the checkpoint.
      
      I have tested FTP get 200M and 1G file many times, I found that
      the performance was less than 1% of the native.
      
      Now I reconstructed the comparison of TCP packets based on the
      TCP sequence number. first of all, ppkt1 and spkt1 have the same
      starting sequence number, so they can compare, even though their
      length is different. And then ppkt1 with a smaller payload length
      is used as the comparison length, if the payload is same, send
      out the ppkt1 and record the offset(the length of ppkt1 payload)
      in spkt1. The next comparison, ppkt2 and spkt1 can be compared
      from the recorded position of spkt1.
      
      like that:
      ----------------
      | header |1|2|3| ppkt1
      ---------|-----|
               |     |
      ---------v-----v--------------
      | header |1|2|3|4|5|6|7|8|9|0| spkt1
      ---------------|\------------|
                     | \offset     |
            ---------v-------------v
            | header |4|5|6|7|8|9|0| ppkt2
            ------------------------
      
      In this way, the performance can reach native 20% in my multiple
      tests.
      
      Cc: Zhang Chen <zhangckid@gmail.com>
      Cc: Li Zhijian <lizhijian@cn.fujitsu.com>
      Cc: Jason Wang <jasowang@redhat.com>
      Signed-off-by: NMao Zhongyi <maozy.fnst@cn.fujitsu.com>
      Signed-off-by: NLi Zhijian <lizhijian@cn.fujitsu.com>
      Signed-off-by: NZhang Chen <zhangckid@gmail.com>
      Reviewed-by: NZhang Chen <zhangckid@gmail.com>
      Tested-by: NZhang Chen <zhangckid@gmail.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      f449c9e5
    • M
      colo: modified the payload compare function · 9394133f
      Mao Zhongyi 提交于
      Modified the function colo_packet_compare_common to prepare for the
      tcp packet comparison in the next patch.
      
      Cc: Zhang Chen <zhangckid@gmail.com>
      Cc: Li Zhijian <lizhijian@cn.fujitsu.com>
      Cc: Jason Wang <jasowang@redhat.com>
      Signed-off-by: NMao Zhongyi <maozy.fnst@cn.fujitsu.com>
      Signed-off-by: NLi Zhijian <lizhijian@cn.fujitsu.com>
      Signed-off-by: NZhang Chen <zhangckid@gmail.com>
      Reviewed-by: NZhang Chen <zhangckid@gmail.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      9394133f