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
© 2016 - 2024 Red Hat, Inc.