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);
}
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++;
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);
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);
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);
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);
("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),
("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),
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)) {
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);