[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH v2 00/10] Add colo-proxy based on netfilter
From: |
Jason Wang |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2 00/10] Add colo-proxy based on netfilter |
Date: |
Tue, 29 Dec 2015 14:58:15 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
On 12/29/2015 02:31 PM, Zhang Chen wrote:
> Hi~
> Just a small ping...
> No news for a week.
> Colo proxy is a part of COLO project, we need review and comments.
>
>
> Thanks
> zhangchen
Hi, will find sometime to review this this week.
Thanks
>
>
> On 12/22/2015 06:42 PM, Zhang Chen wrote:
>> From: zhangchen <address@hidden>
>>
>> Hi,all
>>
>> This patch add an colo-proxy object, COLO-Proxy is a part of COLO,
>> based on qemu netfilter and it's a plugin for qemu netfilter. the
>> function
>> keep Secondary VM connect normal to Primary VM and compare packets
>> sent by PVM to sent by SVM.if the packet difference,notify COLO do
>> checkpoint and send all primary packet has queued.
>>
>> You can also get the series from:
>>
>> https://github.com/zhangckid/qemu/tree/colo-v2.2-periodic-mode-with-colo-proxyV2
>>
>>
>> Usage:
>>
>> primary:
>> -netdev tap,id=bn0 -device e1000,netdev=bn0
>> -object
>> colo-proxy,id=f0,netdev=bn0,queue=all,mode=primary,addr=host:port
>>
>> secondary:
>> -netdev tap,id=bn0 -device e1000,netdev=bn0
>> -object
>> colo-proxy,id=f0,netdev=bn0,queue=all,mode=secondary,addr=host:port
>>
>> NOTE:
>> queue must set "all". See enum NetFilterDirection for detail.
>> colo-proxy need queue all packets
>> colo-proxy V2 just can compare ip packet
>>
>>
>> ## Background
>>
>> COLO FT/HA (COarse-grain LOck-stepping Virtual Machines for Non-stop
>> Service)
>> project is a high availability solution. Both Primary VM (PVM) and
>> Secondary VM
>> (SVM) run in parallel. They receive the same request from client, and
>> generate
>> responses in parallel too. If the response packets from PVM and SVM are
>> identical, they are released immediately. Otherwise, a VM checkpoint (on
>> demand)is conducted.
>>
>> Paper:
>> http://www.socc2013.org/home/program/a3-dong.pdf?attredirects=0
>>
>> COLO on Xen:
>> http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping
>>
>> COLO on Qemu/KVM:
>> http://wiki.qemu.org/Features/COLO
>>
>> By the needs of capturing response packets from PVM and SVM and
>> finding out
>> whether they are identical, we introduce a new module to qemu networking
>> called colo-proxy.
>>
>> V2:
>> rebase colo-proxy with qemu-colo-v2.2-periodic-mode
>> fix dave's comments
>> fix wency's comments
>> fix zhanghailiang's comments
>>
>> v1:
>> initial patch.
>>
>>
>>
>> zhangchen (10):
>> Init colo-proxy object based on netfilter
>> Jhash: add linux kernel jhashtable in qemu
>> Colo-proxy: add colo-proxy framework
>> Colo-proxy: add data structure and jhash func
>> net/colo-proxy: Add colo interface to use proxy
>> net/colo-proxy: add socket used by forward func
>> net/colo-proxy: Add packet enqueue & handle func
>> net/colo-proxy: Handle packet and connection
>> net/colo-proxy: Compare pri pkt to sec pkt
>> net/colo-proxy: Colo-proxy do checkpoint and clear
>>
>> include/qemu/jhash.h | 61 ++++
>> net/Makefile.objs | 1 +
>> net/colo-proxy.c | 939
>> +++++++++++++++++++++++++++++++++++++++++++++++++++
>> net/colo-proxy.h | 24 ++
>> qemu-options.hx | 6 +
>> trace-events | 8 +
>> vl.c | 3 +-
>> 7 files changed, 1041 insertions(+), 1 deletion(-)
>> create mode 100644 include/qemu/jhash.h
>> create mode 100644 net/colo-proxy.c
>> create mode 100644 net/colo-proxy.h
>>
>
- [Qemu-devel] [RFC PATCH v2 04/10] Colo-proxy: add data structure and jhash func, (continued)
- [Qemu-devel] [RFC PATCH v2 04/10] Colo-proxy: add data structure and jhash func, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 03/10] Colo-proxy: add colo-proxy framework, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 01/10] Init colo-proxy object based on netfilter, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 06/10] net/colo-proxy: add socket used by forward func, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 10/10] net/colo-proxy: Colo-proxy do checkpoint and clear, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 09/10] net/colo-proxy: Compare pri pkt to sec pkt, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 07/10] net/colo-proxy: Add packet enqueue & handle func, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 05/10] net/colo-proxy: Add colo interface to use proxy, Zhang Chen, 2015/12/22
- [Qemu-devel] [RFC PATCH v2 08/10] net/colo-proxy: Handle packet and connection, Zhang Chen, 2015/12/22
- Re: [Qemu-devel] [RFC PATCH v2 00/10] Add colo-proxy based on netfilter, Zhang Chen, 2015/12/29
- Re: [Qemu-devel] [RFC PATCH v2 00/10] Add colo-proxy based on netfilter,
Jason Wang <=
- Re: [Qemu-devel] [RFC PATCH v2 00/10] Add colo-proxy based on netfilter, Jason Wang, 2015/12/30