qemu-devel
[Top][All Lists]
Advanced

[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
>>
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]