RE: [PATCH V6 0/6] Passthrough specific network traffic in COLO

2021-05-12 Thread Zhang, Chen
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
> 




RE: [PATCH V6 0/6] Passthrough specific network traffic in COLO

2021-04-27 Thread Zhang, Chen
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