Message ID | 20210420151537.64360-1-chen.zhang@intel.com |
---|---|
Headers | show |
Series | Passthrough specific network traffic in COLO | expand |
Please give me for comments for this series, Ping.... Thanks Chen > -----Original Message----- > From: Zhang, Chen <chen.zhang@intel.com> > Sent: Tuesday, April 20, 2021 11:16 PM > 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 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
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 <qemu-devel- > bounces+chen.zhang=intel.com@nongnu.org> On Behalf Of Zhang, Chen > Sent: Wednesday, April 28, 2021 11:27 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: Lukas Straub <lukasstraub2@web.de>; Zhang Chen > <zhangckid@gmail.com> > 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 <chen.zhang@intel.com> > > Sent: Tuesday, April 20, 2021 11:16 PM > > 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 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 >