From: Markus Armbruster <armbru@redhat.com>
To: Yuval Shaia <yuval.shaia@oracle.com>
Cc: marcel.apfelbaum@gmail.com, dmitry.fleytman@gmail.com,
jasowang@redhat.com, eblake@redhat.com, pbonzini@redhat.com,
qemu-devel@nongnu.org, shamir.rabinovitch@oracle.com,
cohuck@redhat.com
Subject: Re: [Qemu-devel] [PATCH v4 10/23] json: Define new QMP message for pvrdma
Date: Mon, 19 Nov 2018 08:16:08 +0100 [thread overview]
Message-ID: <87wop9v8p3.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20181118122843.10892-11-yuval.shaia@oracle.com> (Yuval Shaia's message of "Sun, 18 Nov 2018 14:28:30 +0200")
The subsystem tag in the commit message's title should be "qapi: " not
"json: ".
Yuval Shaia <yuval.shaia@oracle.com> writes:
> pvrdma requires that the same GID attached to it will be attached to the
> backend device in the host.
>
> A new QMP messages is defined so pvrdma device can broadcast any change
> made to its GID table. This event is captured by libvirt which in turn
> will update the GID table in the backend device.
>
> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> ---
> MAINTAINERS | 1 +
> Makefile | 3 ++-
> Makefile.objs | 4 ++++
> qapi/qapi-schema.json | 1 +
> qapi/rdma.json | 38 ++++++++++++++++++++++++++++++++++++++
> 5 files changed, 46 insertions(+), 1 deletion(-)
> create mode 100644 qapi/rdma.json
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index e087d58ac6..a149f68a8f 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2232,6 +2232,7 @@ F: hw/rdma/*
> F: hw/rdma/vmw/*
> F: docs/pvrdma.txt
> F: contrib/rdmacm-mux/*
> +F: qapi/rdma.json
>
> Build and test automation
> -------------------------
> diff --git a/Makefile b/Makefile
> index 94072776ff..db4ce60ee5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -599,7 +599,8 @@ qapi-modules = $(SRC_PATH)/qapi/qapi-schema.json $(SRC_PATH)/qapi/common.json \
> $(SRC_PATH)/qapi/tpm.json \
> $(SRC_PATH)/qapi/trace.json \
> $(SRC_PATH)/qapi/transaction.json \
> - $(SRC_PATH)/qapi/ui.json
> + $(SRC_PATH)/qapi/ui.json \
> + $(SRC_PATH)/qapi/rdma.json
Please insert between net.json and rocker.json to maintain alphabetical
order.
> qapi/qapi-builtin-types.c qapi/qapi-builtin-types.h \
> qapi/qapi-types.c qapi/qapi-types.h \
> diff --git a/Makefile.objs b/Makefile.objs
> index cc7df3ad80..76d8028f2f 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -21,6 +21,7 @@ util-obj-y += qapi/qapi-types-tpm.o
> util-obj-y += qapi/qapi-types-trace.o
> util-obj-y += qapi/qapi-types-transaction.o
> util-obj-y += qapi/qapi-types-ui.o
> +util-obj-y += qapi/qapi-types-rdma.o
> util-obj-y += qapi/qapi-builtin-visit.o
> util-obj-y += qapi/qapi-visit.o
> util-obj-y += qapi/qapi-visit-block-core.o
> @@ -40,6 +41,7 @@ util-obj-y += qapi/qapi-visit-tpm.o
> util-obj-y += qapi/qapi-visit-trace.o
> util-obj-y += qapi/qapi-visit-transaction.o
> util-obj-y += qapi/qapi-visit-ui.o
> +util-obj-y += qapi/qapi-visit-rdma.o
> util-obj-y += qapi/qapi-events.o
> util-obj-y += qapi/qapi-events-block-core.o
> util-obj-y += qapi/qapi-events-block.o
> @@ -58,6 +60,7 @@ util-obj-y += qapi/qapi-events-tpm.o
> util-obj-y += qapi/qapi-events-trace.o
> util-obj-y += qapi/qapi-events-transaction.o
> util-obj-y += qapi/qapi-events-ui.o
> +util-obj-y += qapi/qapi-events-rdma.o
> util-obj-y += qapi/qapi-introspect.o
>
> chardev-obj-y = chardev/
> @@ -155,6 +158,7 @@ common-obj-y += qapi/qapi-commands-tpm.o
> common-obj-y += qapi/qapi-commands-trace.o
> common-obj-y += qapi/qapi-commands-transaction.o
> common-obj-y += qapi/qapi-commands-ui.o
> +common-obj-y += qapi/qapi-commands-rdma.o
> common-obj-y += qapi/qapi-introspect.o
> common-obj-y += qmp.o hmp.o
> endif
This is incomplete, and it conflicts with Eric Blake's "[PATCH v3] qapi:
Reduce Makefile boilerplate". I recommend to base on Eric's patch,
because that'll let you add the new rdma.json much more easily.
> diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json
> index 65b6dc2f6f..a650d80f83 100644
> --- a/qapi/qapi-schema.json
> +++ b/qapi/qapi-schema.json
> @@ -94,3 +94,4 @@
> { 'include': 'trace.json' }
> { 'include': 'introspect.json' }
> { 'include': 'misc.json' }
> +{ 'include': 'rdma.json' }
This makes the "RDMA device" section appear last in the QEMU QMP
reference manual, since they appear in include order there.
$ grep -h @section bld-x86/qapi/qapi-doc.texi
@section Introduction
@section Stability Considerations
@section Common data types
@section Socket data types
@section VM run state
@section Cryptography
@section Block devices
@section Character devices
@section Net devices
@section Rocker switch device
@section TPM (trusted platform module) devices
@section Remote desktop
@section Input
@section Migration
@section Transactions
@section Tracing
@section QMP introspection
@section Miscellanea
@section RDMA device
It should go next to the other "device" sections, shouldn't it?
> diff --git a/qapi/rdma.json b/qapi/rdma.json
> new file mode 100644
> index 0000000000..804c68ab36
> --- /dev/null
> +++ b/qapi/rdma.json
> @@ -0,0 +1,38 @@
> +# -*- Mode: Python -*-
> +#
> +
> +##
> +# = RDMA device
> +##
> +
> +##
> +# @RDMA_GID_STATUS_CHANGED:
> +#
> +# Emitted when guest driver adds/deletes GID to/from device
> +#
> +# @netdev: RoCE Network Device name - char *
> +#
> +# @gid-status: Add or delete indication - bool
> +#
> +# @subnet-prefix: Subnet Prefix - uint64
> +#
> +# @interface-id : Interface ID - uint64
> +#
> +# Since: 3.2
> +#
> +# Example:
> +#
> +# <- {"timestamp": {"seconds": 1541579657, "microseconds": 986760},
> +# "event": "RDMA_GID_STATUS_CHANGED",
> +# "data":
> +# {"netdev": "bridge0",
> +# "interface-id": 15880512517475447892,
> +# "gid-status": true,
> +# "subnet-prefix": 33022}}
> +#
> +##
> +{ 'event': 'RDMA_GID_STATUS_CHANGED',
> + 'data': { 'netdev' : 'str',
> + 'gid-status' : 'bool',
> + 'subnet-prefix' : 'uint64',
> + 'interface-id' : 'uint64' } }
Schema looks okay from a QAPI perspective (I know next to nothing about
RDMA).
next prev parent reply other threads:[~2018-11-19 7:16 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-18 12:28 [Qemu-devel] [PATCH v4 00/23] Add support for RDMA MAD Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 01/23] contrib/rdmacm-mux: Add implementation of RDMA User MAD multiplexer Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 02/23] hw/rdma: Add ability to force notification without re-arm Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 03/23] hw/rdma: Return qpn 1 if ibqp is NULL Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 04/23] hw/rdma: Abort send-op if fail to create addr handler Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 05/23] hw/rdma: Add support for MAD packets Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 06/23] hw/pvrdma: Make function reset_device return void Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 07/23] hw/pvrdma: Make default pkey 0xFFFF Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 08/23] hw/pvrdma: Set the correct opcode for recv completion Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 09/23] hw/pvrdma: Set the correct opcode for send completion Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 10/23] json: Define new QMP message for pvrdma Yuval Shaia
2018-11-19 7:16 ` Markus Armbruster [this message]
2018-11-22 11:21 ` Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 11/23] hw/pvrdma: Add support to allow guest to configure GID table Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 12/23] vmxnet3: Move some definitions to header file Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 13/23] hw/pvrdma: Make sure PCI function 0 is vmxnet3 Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 14/23] hw/rdma: Initialize node_guid from vmxnet3 mac address Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 15/23] hw/pvrdma: Make device state depend on Ethernet function state Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 16/23] hw/pvrdma: Fill all CQE fields Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 17/23] hw/pvrdma: Fill error code in command's response Yuval Shaia
2018-11-25 7:38 ` Marcel Apfelbaum
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 18/23] hw/rdma: Remove unneeded code that handles more that one port Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 19/23] vl: Introduce shutdown_notifiers Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 20/23] hw/pvrdma: Clean device's resource when system is shutdown Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 21/23] hw/rdma: Do not use bitmap_zero_extend to free bitmap Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 22/23] hw/rdma: Do not call rdma_backend_del_gid on an empty gid Yuval Shaia
2018-11-18 12:28 ` [Qemu-devel] [PATCH v4 23/23] docs: Update pvrdma device documentation Yuval Shaia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wop9v8p3.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=cohuck@redhat.com \
--cc=dmitry.fleytman@gmail.com \
--cc=eblake@redhat.com \
--cc=jasowang@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=shamir.rabinovitch@oracle.com \
--cc=yuval.shaia@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.