[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V4 0/8] 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 V4: - Because the origin 3/7 has been merged, remove it in this series. - Add new patch "COLO-Proxy: Add colo-compare notify args" to support qemu side patch: https://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg07265.html - Add colo_userspace_proxy macro as a separate patch. - Add some comments about COLO and fix some typo in patch 2/7. - Fix some bug and typo in patch 7/7. - Rebase codes on upstream Xen. 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 (8): COLO-Proxy: Add remus command to open userspace proxy COLO-Proxy: Setup userspace colo-proxy on primary side 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: Add colo-compare notify args COLO-Proxy: Use socket to get checkpoint event. COLO-proxy: Add colo_userspace_proxy macro docs/man/xl.pod.1.in | 5 ++ tools/libxl/libxl.h | 6 ++ tools/libxl/libxl_colo.h | 7 ++ tools/libxl/libxl_colo_proxy.c | 149 +++++++++++++++++++++++++++++++++++++++ tools/libxl/libxl_colo_restore.c | 19 +++-- tools/libxl/libxl_colo_save.c | 18 ++++- tools/libxl/libxl_create.c | 8 ++- tools/libxl/libxl_dm.c | 138 ++++++++++++++++++++++++++++++++++++ tools/libxl/libxl_nic.c | 117 ++++++++++++++++++++++++++++++ tools/libxl/libxl_types.idl | 68 +++++++++++++++--- tools/xl/xl.h | 1 + tools/xl/xl_cmdtable.c | 3 +- tools/xl/xl_migrate.c | 28 ++++++-- tools/xl/xl_parse.c | 97 +++++++++++++++++++++++++ tools/xl/xl_vmcontrol.c | 2 + 15 files changed, 642 insertions(+), 24 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 |