[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: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [RFC PATCH v2 00/10] Add colo-proxy based on netfilter |
Date: |
Mon, 11 Jan 2016 12:59:19 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
* Zhang Chen (address@hidden) wrote:
>
>
> On 01/08/2016 07:19 PM, Dr. David Alan Gilbert wrote:
> >* Zhang Chen (address@hidden) 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
> >Are you sure that tag is correct? The series of commits doesn't seem to match
> >up with the set of commits posted.
> >
> >Dave
>
> Yes, it is. we have some code fix in other colo unrelated file.
> in email, I just send colo related part.
That doesn't seem to be what's happening in that git tree.
For example, your patch '[RFC PATCH v2 01/10] Init colo-proxy object based on
netfilter'
adds the colo-proxy object to qemu-options.hx, but in that git tree
it comes from Li Zhijian's 'add proxy prototype' patch.
If you're going to include a git link with a series then please
make sure it contains exactly the patches posted.
It's OK to add some more patches somewhere, e.g. on a different tag or
branch, but make sure the one that you post for the series matches
the series posted.
Dave
>
> zhangchen
> Thanks for review
>
> >>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
> >>
> >>--
> >>1.9.1
> >>
> >>
> >>
> >--
> >Dr. David Alan Gilbert / address@hidden / Manchester, UK
> >
> >
> >.
> >
>
> --
> Thanks
> zhangchen
>
>
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK