[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V4 6/8] COLO-Proxy: Add colo-compare notify args
Xen colo-frame can use the notify way communicate with qemu colo-compare. Signed-off-by: Zhang Chen <zhangchen.fnst@xxxxxxxxxxxxxx> --- tools/libxl/libxl_dm.c | 12 +++++++++--- tools/libxl/libxl_nic.c | 8 ++++++++ tools/libxl/libxl_types.idl | 4 ++++ tools/xl/xl_parse.c | 8 ++++++++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 0fabd64..4344c53 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -1323,6 +1323,10 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, sock_compare_sec_in_ip, sock_compare_sec_in_port); + APPEND_COLO_SOCK_SERVER(sock_compare_notify_id, + sock_compare_notify_ip, + sock_compare_notify_port); + APPEND_COLO_SOCK_SERVER(sock_redirector0_id, sock_redirector0_ip, sock_redirector0_port); @@ -1364,13 +1368,15 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, } if (nics[i].colo_compare_pri_in && nics[i].colo_compare_sec_in && - nics[i].colo_compare_out) { + nics[i].colo_compare_out && + nics[i].colo_compare_notify_dev) { flexarray_append(dm_args, "-object"); flexarray_append(dm_args, - GCSPRINTF("colo-compare,id=c1,primary_in=%s,secondary_in=%s,outdev=%s", + GCSPRINTF("colo-compare,id=c1,primary_in=%s,secondary_in=%s,outdev=%s,notify_dev=%s", nics[i].colo_compare_pri_in, nics[i].colo_compare_sec_in, - nics[i].colo_compare_out)); + nics[i].colo_compare_out, + nics[i].colo_compare_notify_dev)); } } ioemu_nics++; diff --git a/tools/libxl/libxl_nic.c b/tools/libxl/libxl_nic.c index 5e1fecd..33954a2 100644 --- a/tools/libxl/libxl_nic.c +++ b/tools/libxl/libxl_nic.c @@ -212,6 +212,9 @@ static void libxl__device_nic_add(libxl__egc *egc, uint32_t domid, MAYBE_ADD_COLO_ARGS(sock_compare_sec_in_id); MAYBE_ADD_COLO_ARGS(sock_compare_sec_in_ip); MAYBE_ADD_COLO_ARGS(sock_compare_sec_in_port); + MAYBE_ADD_COLO_ARGS(sock_compare_notify_id); + MAYBE_ADD_COLO_ARGS(sock_compare_notify_ip); + MAYBE_ADD_COLO_ARGS(sock_compare_notify_port); MAYBE_ADD_COLO_ARGS(sock_redirector0_id); MAYBE_ADD_COLO_ARGS(sock_redirector0_ip); MAYBE_ADD_COLO_ARGS(sock_redirector0_port); @@ -232,6 +235,7 @@ static void libxl__device_nic_add(libxl__egc *egc, uint32_t domid, MAYBE_ADD_COLO_ARGS(compare_pri_in); MAYBE_ADD_COLO_ARGS(compare_sec_in); MAYBE_ADD_COLO_ARGS(compare_out); + MAYBE_ADD_COLO_ARGS(compare_notify_dev); MAYBE_ADD_COLO_ARGS(sock_sec_redirector0_id); MAYBE_ADD_COLO_ARGS(sock_sec_redirector0_ip); @@ -418,6 +422,9 @@ static int libxl__device_nic_from_xenstore(libxl__gc *gc, CHECK_COLO_ARGS(sock_compare_sec_in_id); CHECK_COLO_ARGS(sock_compare_sec_in_ip); CHECK_COLO_ARGS(sock_compare_sec_in_port); + CHECK_COLO_ARGS(sock_compare_notify_id); + CHECK_COLO_ARGS(sock_compare_notify_ip); + CHECK_COLO_ARGS(sock_compare_notify_port); CHECK_COLO_ARGS(sock_redirector0_id); CHECK_COLO_ARGS(sock_redirector0_ip); CHECK_COLO_ARGS(sock_redirector0_port); @@ -438,6 +445,7 @@ static int libxl__device_nic_from_xenstore(libxl__gc *gc, CHECK_COLO_ARGS(compare_pri_in); CHECK_COLO_ARGS(compare_sec_in); CHECK_COLO_ARGS(compare_out); + CHECK_COLO_ARGS(compare_notify_dev); CHECK_COLO_ARGS(sock_sec_redirector0_id); CHECK_COLO_ARGS(sock_sec_redirector0_ip); CHECK_COLO_ARGS(sock_sec_redirector0_port); diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 47e96b1..516bd79 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -639,6 +639,9 @@ libxl_device_nic = Struct("device_nic", [ ("colo_sock_compare_sec_in_id", string), ("colo_sock_compare_sec_in_ip", string), ("colo_sock_compare_sec_in_port", string), + ("colo_sock_compare_notify_id", string), + ("colo_sock_compare_notify_ip", string), + ("colo_sock_compare_notify_port", string), ("colo_sock_redirector0_id", string), ("colo_sock_redirector0_ip", string), ("colo_sock_redirector0_port", string), @@ -659,6 +662,7 @@ libxl_device_nic = Struct("device_nic", [ ("colo_compare_pri_in", string), ("colo_compare_sec_in", string), ("colo_compare_out", string), + ("colo_compare_notify_dev", string), ("colo_sock_sec_redirector0_id", string), ("colo_sock_sec_redirector0_ip", string), ("colo_sock_sec_redirector0_port", string), diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c index d2bbe26..77e91c8 100644 --- a/tools/xl/xl_parse.c +++ b/tools/xl/xl_parse.c @@ -494,6 +494,12 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token) replace_string(&nic->colo_sock_compare_pri_in_ip, oparg); } else if (MATCH_OPTION("colo_sock_compare_pri_in_port", token, oparg)) { replace_string(&nic->colo_sock_compare_pri_in_port, oparg); + } else if (MATCH_OPTION("colo_sock_compare_notify_id", token, oparg)) { + replace_string(&nic->colo_sock_compare_notify_id, oparg); + } else if (MATCH_OPTION("colo_sock_compare_notify_ip", token, oparg)) { + replace_string(&nic->colo_sock_compare_notify_ip, oparg); + } else if (MATCH_OPTION("colo_sock_compare_notify_port", token, oparg)) { + replace_string(&nic->colo_sock_compare_notify_port, oparg); } else if (MATCH_OPTION("colo_filter_mirror_queue", token, oparg)) { replace_string(&nic->colo_filter_mirror_queue, oparg); } else if (MATCH_OPTION("colo_filter_mirror_outdev", token, oparg)) { @@ -516,6 +522,8 @@ int parse_nic_config(libxl_device_nic *nic, XLU_Config **config, char *token) replace_string(&nic->colo_compare_sec_in, oparg); } else if (MATCH_OPTION("colo_compare_out", token, oparg)) { replace_string(&nic->colo_compare_out, oparg); + } else if (MATCH_OPTION("colo_compare_notify_dev", token, oparg)) { + replace_string(&nic->colo_compare_notify_dev, oparg); } else if (MATCH_OPTION("colo_sock_sec_redirector0_id", token, oparg)) { replace_string(&nic->colo_sock_sec_redirector0_id, oparg); -- 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 |