Hi Jason and Markus,
No news for a while.
If you have time, please give me more comments for this series.
Thanks
Chen
> -----Original Message-----
> From: Zhang, Chen <chen.zhang@intel.com>
> Sent: Wednesday, May 26, 2021 10:54 AM
> To: Jason Wang <jasowang@redhat.com>; qemu-dev <qemu-
> devel@nongnu.org>; Eric Blake <eblake@redhat.com>; Dr. David Alan
> Gilbert <dgilbert@redhat.com>; Markus Armbruster <armbru@redhat.com>;
> Daniel P. Berrangé <berrange@redhat.com>; Gerd Hoffmann
> <kraxel@redhat.com>; Li Zhijian <lizhijian@cn.fujitsu.com>
> Cc: Zhang Chen <zhangckid@gmail.com>; Zhang, Chen
> <chen.zhang@intel.com>; Lukas Straub <lukasstraub2@web.de>
> Subject: [PATCH V7 0/6] Passthrough specific network traffic in COLO
>
> Due to some real user scenarios don't need to monitor all traffic.
> And qemu net-filter also need function to more detailed flow control.
> This series give user ability to passthrough kinds of COLO network stream.
>
> For example, windows guest user want to enable windows remote desktop
> to touch guest(UDP/TCP 3389), This case use UDP and TCP mixed, and the tcp
> part payload always different caused by real desktop display data(for guest
> time/ mouse display....).
>
> Another case is some real user application will actively transmit information
> include guest time part, primary guest send data with time 10:01.000, At the
> same time secondary guest send data with time 10:01.001, it will always
> trigger COLO checkpoint(live migrate) to drop guest performance.
>
> V7:
> - Keep some data structure stay in .c (patch 4/6).
> - Fix mutex init issue (patch 5/6).
> - Make the IPFlowSpec 'protocol' field optional (patch 1/6).
> - Add compare_passthrough_find function in net.c (patch 6/6).
>
> V6:
> - Change QAPI IPFlowSpec protocol from enum to str.
> - Use getprotobyname to handle the protocols.
> - Optimize code in net.
>
> V5:
> - Squash original 1-3 QAPI patches together.
> - Rename some data structures to avoid misunderstanding.
> - Reuse InetSocketAddressBase in IPFlowSpec.
> - Add new function in util/qemu-sockets.c to parse
> InetSocketAddressBase.
> - Update HMP command define to reuse current code.
> - Add more comments.
>
> V4:
> - Fix QAPI code conflict for V6.0 merged patches.
> - Note this feature for V6.1.
>
> V3:
> - Add COLO passthrough list lock.
> - Add usage demo and more comments.
>
> V2:
> - Add the n-tuple support.
> - Add some qapi definitions.
> - Support multi colo-compare objects.
> - Support setup each rules for each objects individually.
> - Clean up COLO compare definition to .h file.
> - Rebase HMP command for stable tree.
> - Add redundant rules check.
>
>
> Zhang Chen (6):
> qapi/net: Add IPFlowSpec and QMP command for COLO passthrough
> util/qemu-sockets.c: Add inet_parse_base to handle
> InetSocketAddressBase
> hmp-commands: Add new HMP command for COLO passthrough
> net/colo-compare: Move data structure and define to .h file.
> net/colo-compare: Add passthrough list to CompareState
> net/net.c: Add handler for COLO passthrough connection
>
> hmp-commands.hx | 26 +++++++
> include/monitor/hmp.h | 2 +
> include/qemu/sockets.h | 1 +
> monitor/hmp-cmds.c | 82 ++++++++++++++++++++
> net/colo-compare.c | 160 +++++++++++++--------------------------
> net/colo-compare.h | 98 ++++++++++++++++++++++++
> net/net.c | 168 +++++++++++++++++++++++++++++++++++++++++
> qapi/net.json | 68 +++++++++++++++++
> util/qemu-sockets.c | 14 ++++
> 9 files changed, 510 insertions(+), 109 deletions(-)
>
> --
> 2.25.1