[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V3 0/7] COLO-Proxy: Make Xen COLO use userspace colo-proxy
Because of some reason, We no longer support COLO kernel proxy. So we send this patch set to make Xen use userspace colo-proxy in qemu. Below is a COLO userspace proxy ascii figure: Primary qemu Secondary qemu +--------------------------------------------------------------+ +----------------------------------------------------------------+ | +----------------------------------------------------------+ | | +-----------------------------------------------------------+ | | | | | | | | | | | guest | | | | guest | | | | | | | | | | | +-------^--------------------------+-----------------------+ | | +---------------------+--------+----------------------------+ | | | | | | ^ | | | | | | | | | | | | +------------------------------------------------------+ | | | | |netfilter| | | | | | netfilter | | | | +----------+ +----------------------------+ | | | +-----------------------------------------------------------+ | | | | | | | out | | | | | | filter excute order | | | | | | +-----------------------------+ | | | | | | +-------------------> | | | | | | | | | | | | | | | | TCP | | | | +-----+--+-+ +-----v----+ +-----v----+ |pri +----+----+sec| | | | +------------+ +---+----+---v+rewriter++ +------------+ | | | | | | | | | | |in | |in | | | | | | | | | | | | | | | | filter | | filter | | filter +------> colo <------+ +--------> filter +--> adjust | adjust +--> filter | | | | | | mirror | |redirector| |redirector| | | compare | | | | | | redirector | | ack | seq | | redirector | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +----^-----+ +----+-----+ +----------+ | +---------+ | | | | +------------+ +--------+--------------+ +---+--------+ | | | | | tx | rx rx | | | | | tx all | rx | | | | | | | | | | +-----------------------------------------------------------+ | | | | +--------------+ | | | | | | | | | filter excute order | | | | | | | | | | +----------------> | | | +--------------------------------------------------------+ | | +-----------------------------------------+ | | | | | | | | | +--------------------------------------------------------------+ +----------------------------------------------------------------+ |guest receive | guest send | | +--------+----------------------------v------------------------+ | | NOTE: filter direction is rx/tx/all | tap | rx:receive packets sent to the netdev | | tx:receive packets sent by the netdev +--------------------------------------------------------------+ You can know the detail from here: http://wiki.qemu.org/Features/COLO https://github.com/qemu/qemu/blob/master/docs/colo-proxy.txt V3: - remove the 'RFC' tag. - fix some bug in patch 7/7. - fix codestyle. V2: - Address wei's comments, use macro to reuse codes. - Do some work on the last patch. - Fix some typo. - Add LIBXL_HAVE_COLO_USERSPACE_PROXY macro in libxl.h. - Some bug fix. V1: - Initial patch Zhang Chen (7): COLO-Proxy: Add remus command to open userspace proxy COLO-Proxy: Setup userspace colo-proxy on primary side tools/libxl: refactor do_domain_create() COLO-Proxy: Setup userspace colo-proxy on secondary side COLO-Proxy: Add primary userspace colo proxy start args COLO-Proxy: Add secondary userspace colo-proxy start args COLO-Proxy: Use socket to get checkpoint event. docs/man/xl.pod.1.in | 5 ++ tools/libxl/libxl.h | 6 ++ tools/libxl/libxl_colo.h | 7 +++ tools/libxl/libxl_colo_proxy.c | 100 +++++++++++++++++++++++++++++ tools/libxl/libxl_colo_restore.c | 19 ++++-- tools/libxl/libxl_colo_save.c | 19 +++++- tools/libxl/libxl_create.c | 21 ++++--- tools/libxl/libxl_dm.c | 132 +++++++++++++++++++++++++++++++++++++++ tools/libxl/libxl_nic.c | 109 ++++++++++++++++++++++++++++++++ tools/libxl/libxl_types.idl | 64 ++++++++++++++++--- tools/libxl/xl_cmdimpl.c | 120 +++++++++++++++++++++++++++++++++-- tools/libxl/xl_cmdtable.c | 3 +- 12 files changed, 576 insertions(+), 29 deletions(-) -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |