Hi Markus, Jason and Dave.
This series has been modified according to previous suggestions.
Please review it again to make sure I fully understand comments.
Thanks
Chen
> -Original Message-
> From: Qemu-devel bounces+chen.zhang=intel@nongnu.org> On Behalf Of Zhang, Chen
> Sent: Wednesday, April 28, 2021 11:27 AM
> To: Jason Wang ; qemu-dev de...@nongnu.org>; Eric Blake ; Dr. David Alan
> Gilbert ; Markus Armbruster ;
> Daniel P. Berrangé ; Gerd Hoffmann
> ; Li Zhijian
> Cc: Lukas Straub ; Zhang Chen
>
> Subject: RE: [PATCH V6 0/6] Passthrough specific network traffic in COLO
>
> Please give me for comments for this series, Ping
>
> Thanks
> Chen
>
> > -Original Message-
> > From: Zhang, Chen
> > Sent: Tuesday, April 20, 2021 11:16 PM
> > To: Jason Wang ; qemu-dev > de...@nongnu.org>; Eric Blake ; Dr. David Alan
> > Gilbert ; Markus Armbruster
> ;
> > Daniel P. Berrangé ; Gerd Hoffmann
> > ; Li Zhijian
> > Cc: Zhang Chen ; Zhang, Chen
> > ; Lukas Straub
> > Subject: [PATCH V6 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.
> >
> > 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 | 162 +++-
> > net/colo-compare.h | 118 +
> > net/net.c | 166
> +
> > qapi/net.json | 68 +
> > util/qemu-sockets.c| 14
> > 9 files changed, 519 insertions(+), 120 deletions(-)
> >
> > --
> > 2.25.1
>