Message ID | 20210224135255.253837-14-kwolf@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qapi/qom: QAPIfy --object and object-add | expand |
On 2/24/21 7:52 AM, Kevin Wolf wrote: > This adds a QAPI schema for the properties of the colo-compare object. > > Signed-off-by: Kevin Wolf <kwolf@redhat.com> > --- > qapi/qom.json | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 49 insertions(+) > > diff --git a/qapi/qom.json b/qapi/qom.json > index 4b1cd4b8dc..8e4414f843 100644 > --- a/qapi/qom.json > +++ b/qapi/qom.json > @@ -222,6 +222,53 @@ > 'data': { 'if': 'str', > 'canbus': 'str' } } > > +## > +# @ColoCompareProperties: > +# > +# Properties for colo-compare objects. > +# > +# @primary_in: name of the character device backend to use for the primary > +# input (incoming packets are redirected to @outdev) > +# > +# @secondary_in: name of the character device backend to use for secondary > +# input (incoming packets are only compared to the input on > +# @primary_in and then dropped) > +# Idea for future improvement: use aliases to shift over to 'primary-in', 'secondary-in', and so on as our preferred name. But not for this patch, which is a mechanical conversion of what exists. > +# @outdev: name of the character device backend to use for output > +# > +# @iothread: name of the iothread to run in > +# > +# @notify_dev: name of the character device backend to be used to communicate > +# with the remote colo-frame (only for Xen COLO) > +# > +# @compare_timeout: the maximum time to hold a packet from @primary_in for > +# comparison with an incoming packet on @secondary_in in > +# milliseconds (default: 3000) > +# > +# @expired_scan_cycle: the interval at which colo-compare checks whether > +# packets from @primary have timed out, in milliseconds > +# (default: 3000) > +# > +# @max_queue_size: the maximum number of packets to keep in the queue for > +# comparing with incoming packets from @secondary_in. If the > +# queue is full and addtional packets are received, the > +# addtional packets are dropped. (default: 1024) > +# > +# @vnet_hdr_support: if true, vnet header support is enabled (default: false) > +# > +# Since: 2.8 > +## > +{ 'struct': 'ColoCompareProperties', > + 'data': { 'primary_in': 'str', > + 'secondary_in': 'str', > + 'outdev': 'str', > + 'iothread': 'str', > + '*notify_dev': 'str', > + '*compare_timeout': 'uint64', > + '*expired_scan_cycle': 'uint32', > + '*max_queue_size': 'uint32', > + '*vnet_hdr_support': 'bool' } } Matches net/colo-compare.c:colo_compare_init(). > + > ## > # @CryptodevBackendProperties: > # > @@ -456,6 +503,7 @@ > 'authz-simple', > 'can-bus', > 'can-host-socketcan', > + 'colo-compare', > 'cryptodev-backend', > 'cryptodev-backend-builtin', > 'cryptodev-vhost-user', > @@ -497,6 +545,7 @@ > 'authz-pam': 'AuthZPAMProperties', > 'authz-simple': 'AuthZSimpleProperties', > 'can-host-socketcan': 'CanHostSocketcanProperties', > + 'colo-compare': 'ColoCompareProperties', > 'cryptodev-backend': 'CryptodevBackendProperties', > 'cryptodev-backend-builtin': 'CryptodevBackendProperties', > 'cryptodev-vhost-user': 'CryptodevVhostUserProperties', Reviewed-by: Eric Blake <eblake@redhat.com>
diff --git a/qapi/qom.json b/qapi/qom.json index 4b1cd4b8dc..8e4414f843 100644 --- a/qapi/qom.json +++ b/qapi/qom.json @@ -222,6 +222,53 @@ 'data': { 'if': 'str', 'canbus': 'str' } } +## +# @ColoCompareProperties: +# +# Properties for colo-compare objects. +# +# @primary_in: name of the character device backend to use for the primary +# input (incoming packets are redirected to @outdev) +# +# @secondary_in: name of the character device backend to use for secondary +# input (incoming packets are only compared to the input on +# @primary_in and then dropped) +# +# @outdev: name of the character device backend to use for output +# +# @iothread: name of the iothread to run in +# +# @notify_dev: name of the character device backend to be used to communicate +# with the remote colo-frame (only for Xen COLO) +# +# @compare_timeout: the maximum time to hold a packet from @primary_in for +# comparison with an incoming packet on @secondary_in in +# milliseconds (default: 3000) +# +# @expired_scan_cycle: the interval at which colo-compare checks whether +# packets from @primary have timed out, in milliseconds +# (default: 3000) +# +# @max_queue_size: the maximum number of packets to keep in the queue for +# comparing with incoming packets from @secondary_in. If the +# queue is full and addtional packets are received, the +# addtional packets are dropped. (default: 1024) +# +# @vnet_hdr_support: if true, vnet header support is enabled (default: false) +# +# Since: 2.8 +## +{ 'struct': 'ColoCompareProperties', + 'data': { 'primary_in': 'str', + 'secondary_in': 'str', + 'outdev': 'str', + 'iothread': 'str', + '*notify_dev': 'str', + '*compare_timeout': 'uint64', + '*expired_scan_cycle': 'uint32', + '*max_queue_size': 'uint32', + '*vnet_hdr_support': 'bool' } } + ## # @CryptodevBackendProperties: # @@ -456,6 +503,7 @@ 'authz-simple', 'can-bus', 'can-host-socketcan', + 'colo-compare', 'cryptodev-backend', 'cryptodev-backend-builtin', 'cryptodev-vhost-user', @@ -497,6 +545,7 @@ 'authz-pam': 'AuthZPAMProperties', 'authz-simple': 'AuthZSimpleProperties', 'can-host-socketcan': 'CanHostSocketcanProperties', + 'colo-compare': 'ColoCompareProperties', 'cryptodev-backend': 'CryptodevBackendProperties', 'cryptodev-backend-builtin': 'CryptodevBackendProperties', 'cryptodev-vhost-user': 'CryptodevVhostUserProperties',
This adds a QAPI schema for the properties of the colo-compare object. Signed-off-by: Kevin Wolf <kwolf@redhat.com> --- qapi/qom.json | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+)