qemu-options.hx: Improve formatting in colo-compare docs

The colo-compare option documentation has some formatting issues: it
uses a "@var{...}" syntax which is not used elsewhere and which is
rendered literally into the HTML documentation.  The bare "@" sign
also results in an unintended 'mailto:' hyperlink.

Rewrite this into the style we seem to use most in the rest of
the command line options, where an option which takes an argument
is written as "my-option=<thing>".

We take the opportunity to make the documentation a little clearer
by splitting up the long paragraph and using preformatted-text
markup for the names of the suboptions.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Zhang Chen <zhangckid@gmail.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20260115142629.665319-5-peter.maydell@linaro.org
This commit is contained in:
Peter Maydell
2026-01-15 14:26:29 +00:00
parent b755c5e7ec
commit 62580edc02

View File

@@ -5972,22 +5972,31 @@ SRST
stored. The file format is libpcap, so it can be analyzed with stored. The file format is libpcap, so it can be analyzed with
tools such as tcpdump or Wireshark. tools such as tcpdump or Wireshark.
``-object colo-compare,id=id,primary_in=chardevid,secondary_in=chardevid,outdev=chardevid,iothread=id[,vnet_hdr_support][,notify_dev=id][,compare_timeout=@var{ms}][,expired_scan_cycle=@var{ms}][,max_queue_size=@var{size}]`` ``-object colo-compare,id=<id>,primary_in=<chardevid>,secondary_in=<chardevid>,outdev=<chardevid>,iothread=<id>[,vnet_hdr_support][,notify_dev=<id>][,compare_timeout=<time_ms>][,expired_scan_cycle=<time_ms>][,max_queue_size=<maxsize>]``
Colo-compare gets packet from primary\_in chardevid and Colo-compare gets packets from the chardev backends specified by
secondary\_in, then compare whether the payload of primary packet ``primary_in`` and ``secondary_in``, and compares whether the payloads
and secondary packet are the same. If same, it will output of the primary packet and the secondary packet are the same.
primary packet to out\_dev, else it will notify COLO-framework to do If they match, it will output the primary packet to the chardev
checkpoint and send primary packet to out\_dev. In order to backend specified by ``outdev``; otherwise it will notify COLO-framework
improve efficiency, we need to put the task of comparison in to do a checkpoint and send the primary packet to ``outdev``.
another iothread. If it has the vnet\_hdr\_support flag,
colo compare will send/recv packet with vnet\_hdr\_len. In order to improve efficiency, we need to put the task of comparison in
The compare\_timeout=@var{ms} determines the maximum time of the another iothread; the ``iothread`` option specifies that iothread object
colo-compare hold the packet. The expired\_scan\_cycle=@var{ms} (which your commandline should create).
is to set the period of scanning expired primary node network packets.
The max\_queue\_size=@var{size} is to set the max compare queue The ``vnet_hdr_support`` flag tells
size depend on user environment. colo compare to pass the vnet header length when it sends and receives packets.
If user want to use Xen COLO, need to add the notify\_dev to
notify Xen colo-frame to do checkpoint. The ``compare_timeout`` option sets the maximum time that
colo-compare will hold the packet for, in ms.
The ``expired_scan_cycle`` option sets the period of scanning expired
primary node network packets, in ms.
The ``max_queue_size`` option sets the max compare queue size.
If you want to use Xen COLO, you need to specify ``notify_dev`` to
tell colo-compare how to notify Xen colo-frame to do a checkpoint.
COLO-compare must be used with the help of filter-mirror, COLO-compare must be used with the help of filter-mirror,
filter-redirector and filter-rewriter. filter-redirector and filter-rewriter.